webpackJsonp([7], {
    254: function(e, t, n) {
        "use strict";

        function i(e) {
            n(455), n(457)
        }
        Object.defineProperty(t, "__esModule", {
            value: !0
        });
        var o = n(459);
        n.n(o);
        for (var r in o) "default" !== r && function(e) {
            n.d(t, e, function() {
                return o[e]
            })
        }(r);
        var a = n(460),
            s = n.n(a),
            c = n(461),
            u = n(96),
            l = i,
            d = u(s.a, c.a, !1, l, "data-v-5d3e281a", null);
        t.default = d.exports
    },
    309: function(e, t) {
        e.exports = function(e) {
            return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
                enumerable: !0,
                get: function() {
                    return e.l
                }
            }), Object.defineProperty(e, "id", {
                enumerable: !0,
                get: function() {
                    return e.i
                }
            }), e.webpackPolyfill = 1), e
        }
    },
    310: function(e, t, n) {
        e.exports = {
            default: n(311),
            __esModule: !0
        }
    },
    311: function(e, t, n) {
        n(113), e.exports = n(0).Object.getOwnPropertySymbols
    },
    312: function(e, t, n) {
        e.exports = {
            default: n(313),
            __esModule: !0
        }
    },
    313: function(e, t, n) {
        n(314), e.exports = n(0).Object.getPrototypeOf
    },
    314: function(e, t, n) {
        var i = n(22),
            o = n(105);
        n(106)("getPrototypeOf", function() {
            return function(e) {
                return o(i(e))
            }
        })
    },
    315: function(e, t, n) {
        e.exports = {
            default: n(316),
            __esModule: !0
        }
    },
    316: function(e, t, n) {
        n(317);
        var i = n(0).Object;
        e.exports = function(e, t) {
            return i.defineProperties(e, t)
        }
    },
    317: function(e, t, n) {
        var i = n(7);
        i(i.S + i.F * !n(8), "Object", {
            defineProperties: n(104)
        })
    },
    318: function(e, t, n) {
        e.exports = {
            default: n(319),
            __esModule: !0
        }
    },
    319: function(e, t, n) {
        n(320);
        var i = n(0).Object;
        e.exports = function(e, t) {
            return i.create(e, t)
        }
    },
    320: function(e, t, n) {
        var i = n(7);
        i(i.S, "Object", {
            create: n(66)
        })
    },
    321: function(e, t, n) {
        e.exports = {
            default: n(322),
            __esModule: !0
        }
    },
    322: function(e, t, n) {
        n(65), e.exports = n(42).f("toStringTag")
    },
    345: function(e, t, i) {
        var o, r;
        (function() {
            function i(e) {
                return !!e.exifdata
            }

            function a(e, t) {
                t = t || e.match(/^data\:([^\;]+)\;base64,/im)[1] || "", e = e.replace(/^data\:([^\;]+)\;base64,/gim, "");
                for (var n = atob(e), i = n.length, o = new ArrayBuffer(i), r = new Uint8Array(o), a = 0; a < i; a++) r[a] = n.charCodeAt(a);
                return o
            }

            function s(e, t) {
                var n = new XMLHttpRequest;
                n.open("GET", e, !0), n.responseType = "blob", n.onload = function(e) {
                    200 != this.status && 0 !== this.status || t(this.response)
                }, n.send()
            }

            function c(e, t) {
                function n(n) {
                    var i = u(n);
                    e.exifdata = i || {};
                    var o = l(n);
                    if (e.iptcdata = o || {}, I.isXmpEnabled) {
                        var r = _(n);
                        e.xmpdata = r || {}
                    }
                    t && t.call(e)
                }
                if (e.src)
                    if (/^data\:/i.test(e.src)) {
                        var i = a(e.src);
                        n(i)
                    } else if (/^blob\:/i.test(e.src)) {
                    var o = new FileReader;
                    o.onload = function(e) {
                        n(e.target.result)
                    }, s(e.src, function(e) {
                        o.readAsArrayBuffer(e)
                    })
                } else {
                    var r = new XMLHttpRequest;
                    r.onload = function() {
                        if (200 != this.status && 0 !== this.status) throw "Could not load image";
                        n(r.response), r = null
                    }, r.open("GET", e.src, !0), r.responseType = "arraybuffer", r.send(null)
                } else if (self.FileReader && (e instanceof self.Blob || e instanceof self.File)) {
                    var o = new FileReader;
                    o.onload = function(e) {
                        y && console.log("Got file of length " + e.target.result.byteLength), n(e.target.result)
                    }, o.readAsArrayBuffer(e)
                }
            }

            function u(e) {
                var t = new DataView(e);
                if (y && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return y && console.log("Not a valid JPEG"), !1;
                for (var n, i = 2, o = e.byteLength; i < o;) {
                    if (255 != t.getUint8(i)) return y && console.log("Not a valid marker at offset " + i + ", found: " + t.getUint8(i)), !1;
                    if (n = t.getUint8(i + 1), y && console.log(n), 225 == n) return y && console.log("Found 0xFFE1 marker"), v(t, i + 4, t.getUint16(i + 2));
                    i += 2 + t.getUint16(i + 2)
                }
            }

            function l(e) {
                var t = new DataView(e);
                if (y && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return y && console.log("Not a valid JPEG"), !1;
                for (var n = 2, i = e.byteLength; n < i;) {
                    if (function(e, t) {
                        return 56 === e.getUint8(t) && 66 === e.getUint8(t + 1) && 73 === e.getUint8(t + 2) && 77 === e.getUint8(t + 3) && 4 === e.getUint8(t + 4) && 4 === e.getUint8(t + 5)
                    }(t, n)) {
                        var o = t.getUint8(n + 7);
                        o % 2 != 0 && (o += 1), 0 === o && (o = 4);
                        return d(e, n + 8 + o, t.getUint16(n + 6 + o))
                    }
                    n++
                }
            }

            function d(e, t, n) {
                for (var i, o, r, a, s = new DataView(e), c = {}, u = t; u < t + n;) 28 === s.getUint8(u) && 2 === s.getUint8(u + 1) && (a = s.getUint8(u + 2)) in A && (r = s.getInt16(u + 3), r + 5, o = A[a], i = p(s, u + 5, r), c.hasOwnProperty(o) ? c[o] instanceof Array ? c[o].push(i) : c[o] = [c[o], i] : c[o] = i), u++;
                return c
            }

            function m(e, t, n, i, o) {
                var r, a, s, c = e.getUint16(n, !o),
                    u = {};
                for (s = 0; s < c; s++) r = n + 12 * s + 2, a = i[e.getUint16(r, !o)], !a && y && console.log("Unknown tag: " + e.getUint16(r, !o)), u[a] = h(e, r, t, n, o);
                return u
            }

            function h(e, t, n, i, o) {
                var r, a, s, c, u, l, d = e.getUint16(t + 2, !o),
                    m = e.getUint32(t + 4, !o),
                    h = e.getUint32(t + 8, !o) + n;
                switch (d) {
                    case 1:
                    case 7:
                        if (1 == m) return e.getUint8(t + 8, !o);
                        for (r = m > 4 ? h : t + 8, a = [], c = 0; c < m; c++) a[c] = e.getUint8(r + c);
                        return a;
                    case 2:
                        return r = m > 4 ? h : t + 8, p(e, r, m - 1);
                    case 3:
                        if (1 == m) return e.getUint16(t + 8, !o);
                        for (r = m > 2 ? h : t + 8, a = [], c = 0; c < m; c++) a[c] = e.getUint16(r + 2 * c, !o);
                        return a;
                    case 4:
                        if (1 == m) return e.getUint32(t + 8, !o);
                        for (a = [], c = 0; c < m; c++) a[c] = e.getUint32(h + 4 * c, !o);
                        return a;
                    case 5:
                        if (1 == m) return u = e.getUint32(h, !o), l = e.getUint32(h + 4, !o), s = new Number(u / l), s.numerator = u, s.denominator = l, s;
                        for (a = [], c = 0; c < m; c++) u = e.getUint32(h + 8 * c, !o), l = e.getUint32(h + 4 + 8 * c, !o), a[c] = new Number(u / l), a[c].numerator = u, a[c].denominator = l;
                        return a;
                    case 9:
                        if (1 == m) return e.getInt32(t + 8, !o);
                        for (a = [], c = 0; c < m; c++) a[c] = e.getInt32(h + 4 * c, !o);
                        return a;
                    case 10:
                        if (1 == m) return e.getInt32(h, !o) / e.getInt32(h + 4, !o);
                        for (a = [], c = 0; c < m; c++) a[c] = e.getInt32(h + 8 * c, !o) / e.getInt32(h + 4 + 8 * c, !o);
                        return a
                }
            }

            function f(e, t, n) {
                var i = e.getUint16(t, !n);
                return e.getUint32(t + 2 + 12 * i, !n)
            }

            function g(e, t, n, i) {
                var o = f(e, t + n, i);
                if (!o) return {};
                if (o > e.byteLength) return {};
                var r = m(e, t, t + o, T, i);
                if (r.Compression) switch (r.Compression) {
                    case 6:
                        if (r.JpegIFOffset && r.JpegIFByteCount) {
                            var a = t + r.JpegIFOffset,
                                s = r.JpegIFByteCount;
                            r.blob = new Blob([new Uint8Array(e.buffer, a, s)], {
                                type: "image/jpeg"
                            })
                        }
                        break;
                    case 1:
                        console.log("Thumbnail image format is TIFF, which is not implemented.");
                        break;
                    default:
                        console.log("Unknown thumbnail image format '%s'", r.Compression)
                } else 2 == r.PhotometricInterpretation && console.log("Thumbnail image format is RGB, which is not implemented.");
                return r
            }

            function p(e, t, i) {
                var o = "";
                for (n = t; n < t + i; n++) o += String.fromCharCode(e.getUint8(n));
                return o
            }

            function v(e, t) {
                if ("Exif" != p(e, t, 4)) return y && console.log("Not valid EXIF data! " + p(e, t, 4)), !1;
                var n, i, o, r, a, s = t + 6;
                if (18761 == e.getUint16(s)) n = !1;
                else {
                    if (19789 != e.getUint16(s)) return y && console.log("Not valid TIFF data! (no 0x4949 or 0x4D4D)"), !1;
                    n = !0
                } if (42 != e.getUint16(s + 2, !n)) return y && console.log("Not valid TIFF data! (no 0x002A)"), !1;
                var c = e.getUint32(s + 4, !n);
                if (c < 8) return y && console.log("Not valid TIFF data! (First offset less than 8)", e.getUint32(s + 4, !n)), !1;
                if (i = m(e, s, s + c, k, n), i.ExifIFDPointer) {
                    r = m(e, s, s + i.ExifIFDPointer, x, n);
                    for (o in r) {
                        switch (o) {
                            case "LightSource":
                            case "Flash":
                            case "MeteringMode":
                            case "ExposureProgram":
                            case "SensingMethod":
                            case "SceneCaptureType":
                            case "SceneType":
                            case "CustomRendered":
                            case "WhiteBalance":
                            case "GainControl":
                            case "Contrast":
                            case "Saturation":
                            case "Sharpness":
                            case "SubjectDistanceRange":
                            case "FileSource":
                                r[o] = C[o][r[o]];
                                break;
                            case "ExifVersion":
                            case "FlashpixVersion":
                                r[o] = String.fromCharCode(r[o][0], r[o][1], r[o][2], r[o][3]);
                                break;
                            case "ComponentsConfiguration":
                                r[o] = C.Components[r[o][0]] + C.Components[r[o][1]] + C.Components[r[o][2]] + C.Components[r[o][3]]
                        }
                        i[o] = r[o]
                    }
                }
                if (i.GPSInfoIFDPointer) {
                    a = m(e, s, s + i.GPSInfoIFDPointer, S, n);
                    for (o in a) {
                        switch (o) {
                            case "GPSVersionID":
                                a[o] = a[o][0] + "." + a[o][1] + "." + a[o][2] + "." + a[o][3]
                        }
                        i[o] = a[o]
                    }
                }
                return i.thumbnail = g(e, s, c, n), i
            }

            function _(e) {
                if ("DOMParser" in self) {
                    var t = new DataView(e);
                    if (y && console.log("Got file of length " + e.byteLength), 255 != t.getUint8(0) || 216 != t.getUint8(1)) return y && console.log("Not a valid JPEG"), !1;
                    for (var n = 2, i = e.byteLength, o = new DOMParser; n < i - 4;) {
                        if ("http" == p(t, n, 4)) {
                            var r = n - 1,
                                a = t.getUint16(n - 2) - 1,
                                s = p(t, r, a),
                                c = s.indexOf("xmpmeta>") + 8;
                            s = s.substring(s.indexOf("<x:xmpmeta"), c);
                            var u = s.indexOf("x:xmpmeta") + 10;
                            s = s.slice(0, u) + 'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" ' + s.slice(u);
                            return b(o.parseFromString(s, "text/xml"))
                        }
                        n++
                    }
                }
            }

            function w(e) {
                var t = {};
                if (1 == e.nodeType) {
                    if (e.attributes.length > 0) {
                        t["@attributes"] = {};
                        for (var n = 0; n < e.attributes.length; n++) {
                            var i = e.attributes.item(n);
                            t["@attributes"][i.nodeName] = i.nodeValue
                        }
                    }
                } else if (3 == e.nodeType) return e.nodeValue;
                if (e.hasChildNodes())
                    for (var o = 0; o < e.childNodes.length; o++) {
                        var r = e.childNodes.item(o),
                            a = r.nodeName;
                        if (null == t[a]) t[a] = w(r);
                        else {
                            if (null == t[a].push) {
                                var s = t[a];
                                t[a] = [], t[a].push(s)
                            }
                            t[a].push(w(r))
                        }
                    }
                return t
            }

            function b(e) {
                try {
                    var t = {};
                    if (e.children.length > 0)
                        for (var n = 0; n < e.children.length; n++) {
                            var i = e.children.item(n),
                                o = i.attributes;
                            for (var r in o) {
                                var a = o[r],
                                    s = a.nodeName,
                                    c = a.nodeValue;
                                void 0 !== s && (t[s] = c)
                            }
                            var u = i.nodeName;
                            if (void 0 === t[u]) t[u] = w(i);
                            else {
                                if (void 0 === t[u].push) {
                                    var l = t[u];
                                    t[u] = [], t[u].push(l)
                                }
                                t[u].push(w(i))
                            }
                        } else t = e.textContent;
                    return t
                } catch (e) {
                    console.log(e.message)
                }
            }
            var y = !1,
                I = function(e) {
                    return e instanceof I ? e : this instanceof I ? void(this.EXIFwrapped = e) : new I(e)
                };
            void 0 !== e && e.exports && (t = e.exports = I), t.EXIF = I;
            var x = I.Tags = {
                    36864: "ExifVersion",
                    40960: "FlashpixVersion",
                    40961: "ColorSpace",
                    40962: "PixelXDimension",
                    40963: "PixelYDimension",
                    37121: "ComponentsConfiguration",
                    37122: "CompressedBitsPerPixel",
                    37500: "MakerNote",
                    37510: "UserComment",
                    40964: "RelatedSoundFile",
                    36867: "DateTimeOriginal",
                    36868: "DateTimeDigitized",
                    37520: "SubsecTime",
                    37521: "SubsecTimeOriginal",
                    37522: "SubsecTimeDigitized",
                    33434: "ExposureTime",
                    33437: "FNumber",
                    34850: "ExposureProgram",
                    34852: "SpectralSensitivity",
                    34855: "ISOSpeedRatings",
                    34856: "OECF",
                    37377: "ShutterSpeedValue",
                    37378: "ApertureValue",
                    37379: "BrightnessValue",
                    37380: "ExposureBias",
                    37381: "MaxApertureValue",
                    37382: "SubjectDistance",
                    37383: "MeteringMode",
                    37384: "LightSource",
                    37385: "Flash",
                    37396: "SubjectArea",
                    37386: "FocalLength",
                    41483: "FlashEnergy",
                    41484: "SpatialFrequencyResponse",
                    41486: "FocalPlaneXResolution",
                    41487: "FocalPlaneYResolution",
                    41488: "FocalPlaneResolutionUnit",
                    41492: "SubjectLocation",
                    41493: "ExposureIndex",
                    41495: "SensingMethod",
                    41728: "FileSource",
                    41729: "SceneType",
                    41730: "CFAPattern",
                    41985: "CustomRendered",
                    41986: "ExposureMode",
                    41987: "WhiteBalance",
                    41988: "DigitalZoomRation",
                    41989: "FocalLengthIn35mmFilm",
                    41990: "SceneCaptureType",
                    41991: "GainControl",
                    41992: "Contrast",
                    41993: "Saturation",
                    41994: "Sharpness",
                    41995: "DeviceSettingDescription",
                    41996: "SubjectDistanceRange",
                    40965: "InteroperabilityIFDPointer",
                    42016: "ImageUniqueID"
                },
                k = I.TiffTags = {
                    256: "ImageWidth",
                    257: "ImageHeight",
                    34665: "ExifIFDPointer",
                    34853: "GPSInfoIFDPointer",
                    40965: "InteroperabilityIFDPointer",
                    258: "BitsPerSample",
                    259: "Compression",
                    262: "PhotometricInterpretation",
                    274: "Orientation",
                    277: "SamplesPerPixel",
                    284: "PlanarConfiguration",
                    530: "YCbCrSubSampling",
                    531: "YCbCrPositioning",
                    282: "XResolution",
                    283: "YResolution",
                    296: "ResolutionUnit",
                    273: "StripOffsets",
                    278: "RowsPerStrip",
                    279: "StripByteCounts",
                    513: "JPEGInterchangeFormat",
                    514: "JPEGInterchangeFormatLength",
                    301: "TransferFunction",
                    318: "WhitePoint",
                    319: "PrimaryChromaticities",
                    529: "YCbCrCoefficients",
                    532: "ReferenceBlackWhite",
                    306: "DateTime",
                    270: "ImageDescription",
                    271: "Make",
                    272: "Model",
                    305: "Software",
                    315: "Artist",
                    33432: "Copyright"
                },
                S = I.GPSTags = {
                    0: "GPSVersionID",
                    1: "GPSLatitudeRef",
                    2: "GPSLatitude",
                    3: "GPSLongitudeRef",
                    4: "GPSLongitude",
                    5: "GPSAltitudeRef",
                    6: "GPSAltitude",
                    7: "GPSTimeStamp",
                    8: "GPSSatellites",
                    9: "GPSStatus",
                    10: "GPSMeasureMode",
                    11: "GPSDOP",
                    12: "GPSSpeedRef",
                    13: "GPSSpeed",
                    14: "GPSTrackRef",
                    15: "GPSTrack",
                    16: "GPSImgDirectionRef",
                    17: "GPSImgDirection",
                    18: "GPSMapDatum",
                    19: "GPSDestLatitudeRef",
                    20: "GPSDestLatitude",
                    21: "GPSDestLongitudeRef",
                    22: "GPSDestLongitude",
                    23: "GPSDestBearingRef",
                    24: "GPSDestBearing",
                    25: "GPSDestDistanceRef",
                    26: "GPSDestDistance",
                    27: "GPSProcessingMethod",
                    28: "GPSAreaInformation",
                    29: "GPSDateStamp",
                    30: "GPSDifferential"
                },
                T = I.IFD1Tags = {
                    256: "ImageWidth",
                    257: "ImageHeight",
                    258: "BitsPerSample",
                    259: "Compression",
                    262: "PhotometricInterpretation",
                    273: "StripOffsets",
                    274: "Orientation",
                    277: "SamplesPerPixel",
                    278: "RowsPerStrip",
                    279: "StripByteCounts",
                    282: "XResolution",
                    283: "YResolution",
                    284: "PlanarConfiguration",
                    296: "ResolutionUnit",
                    513: "JpegIFOffset",
                    514: "JpegIFByteCount",
                    529: "YCbCrCoefficients",
                    530: "YCbCrSubSampling",
                    531: "YCbCrPositioning",
                    532: "ReferenceBlackWhite"
                },
                C = I.StringValues = {
                    ExposureProgram: {
                        0: "Not defined",
                        1: "Manual",
                        2: "Normal program",
                        3: "Aperture priority",
                        4: "Shutter priority",
                        5: "Creative program",
                        6: "Action program",
                        7: "Portrait mode",
                        8: "Landscape mode"
                    },
                    MeteringMode: {
                        0: "Unknown",
                        1: "Average",
                        2: "CenterWeightedAverage",
                        3: "Spot",
                        4: "MultiSpot",
                        5: "Pattern",
                        6: "Partial",
                        255: "Other"
                    },
                    LightSource: {
                        0: "Unknown",
                        1: "Daylight",
                        2: "Fluorescent",
                        3: "Tungsten (incandescent light)",
                        4: "Flash",
                        9: "Fine weather",
                        10: "Cloudy weather",
                        11: "Shade",
                        12: "Daylight fluorescent (D 5700 - 7100K)",
                        13: "Day white fluorescent (N 4600 - 5400K)",
                        14: "Cool white fluorescent (W 3900 - 4500K)",
                        15: "White fluorescent (WW 3200 - 3700K)",
                        17: "Standard light A",
                        18: "Standard light B",
                        19: "Standard light C",
                        20: "D55",
                        21: "D65",
                        22: "D75",
                        23: "D50",
                        24: "ISO studio tungsten",
                        255: "Other"
                    },
                    Flash: {
                        0: "Flash did not fire",
                        1: "Flash fired",
                        5: "Strobe return light not detected",
                        7: "Strobe return light detected",
                        9: "Flash fired, compulsory flash mode",
                        13: "Flash fired, compulsory flash mode, return light not detected",
                        15: "Flash fired, compulsory flash mode, return light detected",
                        16: "Flash did not fire, compulsory flash mode",
                        24: "Flash did not fire, auto mode",
                        25: "Flash fired, auto mode",
                        29: "Flash fired, auto mode, return light not detected",
                        31: "Flash fired, auto mode, return light detected",
                        32: "No flash function",
                        65: "Flash fired, red-eye reduction mode",
                        69: "Flash fired, red-eye reduction mode, return light not detected",
                        71: "Flash fired, red-eye reduction mode, return light detected",
                        73: "Flash fired, compulsory flash mode, red-eye reduction mode",
                        77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",
                        79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",
                        89: "Flash fired, auto mode, red-eye reduction mode",
                        93: "Flash fired, auto mode, return light not detected, red-eye reduction mode",
                        95: "Flash fired, auto mode, return light detected, red-eye reduction mode"
                    },
                    SensingMethod: {
                        1: "Not defined",
                        2: "One-chip color area sensor",
                        3: "Two-chip color area sensor",
                        4: "Three-chip color area sensor",
                        5: "Color sequential area sensor",
                        7: "Trilinear sensor",
                        8: "Color sequential linear sensor"
                    },
                    SceneCaptureType: {
                        0: "Standard",
                        1: "Landscape",
                        2: "Portrait",
                        3: "Night scene"
                    },
                    SceneType: {
                        1: "Directly photographed"
                    },
                    CustomRendered: {
                        0: "Normal process",
                        1: "Custom process"
                    },
                    WhiteBalance: {
                        0: "Auto white balance",
                        1: "Manual white balance"
                    },
                    GainControl: {
                        0: "None",
                        1: "Low gain up",
                        2: "High gain up",
                        3: "Low gain down",
                        4: "High gain down"
                    },
                    Contrast: {
                        0: "Normal",
                        1: "Soft",
                        2: "Hard"
                    },
                    Saturation: {
                        0: "Normal",
                        1: "Low saturation",
                        2: "High saturation"
                    },
                    Sharpness: {
                        0: "Normal",
                        1: "Soft",
                        2: "Hard"
                    },
                    SubjectDistanceRange: {
                        0: "Unknown",
                        1: "Macro",
                        2: "Close view",
                        3: "Distant view"
                    },
                    FileSource: {
                        3: "DSC"
                    },
                    Components: {
                        0: "",
                        1: "Y",
                        2: "Cb",
                        3: "Cr",
                        4: "R",
                        5: "G",
                        6: "B"
                    }
                },
                A = {
                    120: "caption",
                    110: "credit",
                    25: "keywords",
                    55: "dateCreated",
                    80: "byline",
                    85: "bylineTitle",
                    122: "captionWriter",
                    105: "headline",
                    116: "copyright",
                    15: "category"
                };
            I.enableXmp = function() {
                I.isXmpEnabled = !0
            }, I.disableXmp = function() {
                I.isXmpEnabled = !1
            }, I.getData = function(e, t) {
                return !((self.Image && e instanceof self.Image || self.HTMLImageElement && e instanceof self.HTMLImageElement) && !e.complete) && (i(e) ? t && t.call(e) : c(e, t), !0)
            }, I.getTag = function(e, t) {
                if (i(e)) return e.exifdata[t]
            }, I.getIptcTag = function(e, t) {
                if (i(e)) return e.iptcdata[t]
            }, I.getAllTags = function(e) {
                if (!i(e)) return {};
                var t, n = e.exifdata,
                    o = {};
                for (t in n) n.hasOwnProperty(t) && (o[t] = n[t]);
                return o
            }, I.getAllIptcTags = function(e) {
                if (!i(e)) return {};
                var t, n = e.iptcdata,
                    o = {};
                for (t in n) n.hasOwnProperty(t) && (o[t] = n[t]);
                return o
            }, I.pretty = function(e) {
                if (!i(e)) return "";
                var t, n = e.exifdata,
                    o = "";
                for (t in n) n.hasOwnProperty(t) && ("object" == typeof n[t] ? n[t] instanceof Number ? o += t + " : " + n[t] + " [" + n[t].numerator + "/" + n[t].denominator + "]\r\n" : o += t + " : [" + n[t].length + " values]\r\n" : o += t + " : " + n[t] + "\r\n");
                return o
            }, I.readFromBinaryFile = function(e) {
                return u(e)
            }, o = [], void 0 !== (r = function() {
                return I
            }.apply(t, o)) && (e.exports = r)
        }).call(this)
    },
    346: function(e, t, n) {
        "use strict";
        (function(e) {
            function i(e) {
                return e && e.__esModule ? e : {
                    default: e
                }
            }
            var o, r, a, s = n(310),
                c = i(s),
                u = n(112),
                l = i(u),
                d = n(115),
                m = i(d),
                h = n(312),
                f = i(h),
                g = n(315),
                p = i(g),
                v = n(62),
                _ = i(v),
                w = n(318),
                b = i(w),
                y = n(321),
                I = i(y),
                x = n(102),
                k = i(x),
                S = n(114),
                T = i(S),
                C = n(101),
                A = i(C);
            ! function(n, i) {
                "object" == (0, A.default)(t) && "object" == (0, A.default)(e) ? e.exports = i(): (r = [], o = i, void 0 !== (a = "function" == typeof o ? o.apply(t, r) : o) && (e.exports = a))
            }(window, function() {
                return function(e) {
                    function t(i) {
                        if (n[i]) return n[i].exports;
                        var o = n[i] = {
                            i: i,
                            l: !1,
                            exports: {}
                        };
                        return e[i].call(o.exports, o, o.exports, t), o.l = !0, o.exports
                    }
                    var n = {};
                    return t.m = e, t.c = n, t.d = function(e, n, i) {
                        t.o(e, n) || (0, T.default)(e, n, {
                            enumerable: !0,
                            get: i
                        })
                    }, t.r = function(e) {
                        void 0 !== k.default && I.default && (0, T.default)(e, I.default, {
                            value: "Module"
                        }), Object.defineProperty(e, "__esModule", {
                            value: !0
                        })
                    }, t.t = function(e, n) {
                        if (1 & n && (e = t(e)), 8 & n) return e;
                        if (4 & n && "object" == (void 0 === e ? "undefined" : (0, A.default)(e)) && e && e.__esModule) return e;
                        var i = (0, b.default)(null);
                        if (t.r(i), Object.defineProperty(i, "default", {
                            enumerable: !0,
                            value: e
                        }), 2 & n && "string" != typeof e)
                            for (var o in e) t.d(i, o, function(t) {
                                return e[t]
                            }.bind(null, o));
                        return i
                    }, t.n = function(e) {
                        var n = e && e.__esModule ? function() {
                            return e.default
                        } : function() {
                            return e
                        };
                        return t.d(n, "a", n), n
                    }, t.o = function(e, t) {
                        return Object.prototype.hasOwnProperty.call(e, t)
                    }, t.p = "", t(t.s = 38)
                }([
                    function(e, t) {
                        var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
                        "number" == typeof __g && (__g = n)
                    },
                    function(e, t, n) {
                        var i = n(28)("wks"),
                            o = n(29),
                            r = n(0).Symbol,
                            a = "function" == typeof r;
                        (e.exports = function(e) {
                            return i[e] || (i[e] = a && r[e] || (a ? r : o)("Symbol." + e))
                        }).store = i
                    },
                    function(e, t) {
                        var n = e.exports = {
                            version: "2.5.7"
                        };
                        "number" == typeof __e && (__e = n)
                    },
                    function(e, t, n) {
                        var i = n(8);
                        e.exports = function(e) {
                            if (!i(e)) throw TypeError(e + " is not an object!");
                            return e
                        }
                    },
                    function(e, t, n) {
                        var i = n(0),
                            o = n(2),
                            r = n(10),
                            a = n(5),
                            s = n(12),
                            c = function e(t, n, c) {
                                var u, l, d, m = t & e.F,
                                    h = t & e.G,
                                    f = t & e.S,
                                    g = t & e.P,
                                    p = t & e.B,
                                    v = t & e.W,
                                    _ = h ? o : o[n] || (o[n] = {}),
                                    w = _.prototype,
                                    b = h ? i : f ? i[n] : (i[n] || {}).prototype;
                                for (u in h && (c = n), c)(l = !m && b && void 0 !== b[u]) && s(_, u) || (d = l ? b[u] : c[u], _[u] = h && "function" != typeof b[u] ? c[u] : p && l ? r(d, i) : v && b[u] == d ? function(e) {
                                    var t = function(t, n, i) {
                                        if (this instanceof e) {
                                            switch (arguments.length) {
                                                case 0:
                                                    return new e;
                                                case 1:
                                                    return new e(t);
                                                case 2:
                                                    return new e(t, n)
                                            }
                                            return new e(t, n, i)
                                        }
                                        return e.apply(this, arguments)
                                    };
                                    return t.prototype = e.prototype, t
                                }(d) : g && "function" == typeof d ? r(Function.call, d) : d, g && ((_.virtual || (_.virtual = {}))[u] = d, t & e.R && w && !w[u] && a(w, u, d)))
                            };
                        c.F = 1, c.G = 2, c.S = 4, c.P = 8, c.B = 16, c.W = 32, c.U = 64, c.R = 128, e.exports = c
                    },
                    function(e, t, n) {
                        var i = n(7),
                            o = n(24);
                        e.exports = n(6) ? function(e, t, n) {
                            return i.f(e, t, o(1, n))
                        } : function(e, t, n) {
                            return e[t] = n, e
                        }
                    },
                    function(e, t, n) {
                        e.exports = !n(17)(function() {
                            return 7 != Object.defineProperty({}, "a", {
                                get: function() {
                                    return 7
                                }
                            }).a
                        })
                    },
                    function(e, t, n) {
                        var i = n(3),
                            o = n(44),
                            r = n(45),
                            a = T.default;
                        t.f = n(6) ? T.default : function(e, t, n) {
                            if (i(e), t = r(t, !0), i(n), o) try {
                                return a(e, t, n)
                            } catch (e) {}
                            if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");
                            return "value" in n && (e[t] = n.value), e
                        }
                    },
                    function(e, t) {
                        e.exports = function(e) {
                            return "object" == (void 0 === e ? "undefined" : (0, A.default)(e)) ? null !== e : "function" == typeof e
                        }
                    },
                    function(e, t) {
                        e.exports = {}
                    },
                    function(e, t, n) {
                        var i = n(11);
                        e.exports = function(e, t, n) {
                            if (i(e), void 0 === t) return e;
                            switch (n) {
                                case 1:
                                    return function(n) {
                                        return e.call(t, n)
                                    };
                                case 2:
                                    return function(n, i) {
                                        return e.call(t, n, i)
                                    };
                                case 3:
                                    return function(n, i, o) {
                                        return e.call(t, n, i, o)
                                    }
                            }
                            return function() {
                                return e.apply(t, arguments)
                            }
                        }
                    },
                    function(e, t) {
                        e.exports = function(e) {
                            if ("function" != typeof e) throw TypeError(e + " is not a function!");
                            return e
                        }
                    },
                    function(e, t) {
                        var n = {}.hasOwnProperty;
                        e.exports = function(e, t) {
                            return n.call(e, t)
                        }
                    },
                    function(e, t) {
                        var n = {}.toString;
                        e.exports = function(e) {
                            return n.call(e).slice(8, -1)
                        }
                    },
                    function(e, t) {
                        var n = Math.ceil,
                            i = Math.floor;
                        e.exports = function(e) {
                            return isNaN(e = +e) ? 0 : (e > 0 ? i : n)(e)
                        }
                    },
                    function(e, t) {
                        e.exports = function(e) {
                            if (void 0 == e) throw TypeError("Can't call method on  " + e);
                            return e
                        }
                    },
                    function(e, t) {
                        e.exports = !0
                    },
                    function(e, t) {
                        e.exports = function(e) {
                            try {
                                return !!e()
                            } catch (e) {
                                return !0
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(8),
                            o = n(0).document,
                            r = i(o) && i(o.createElement);
                        e.exports = function(e) {
                            return r ? o.createElement(e) : {}
                        }
                    },
                    function(e, t, n) {
                        var i = n(26),
                            o = n(15);
                        e.exports = function(e) {
                            return i(o(e))
                        }
                    },
                    function(e, t, n) {
                        var i = n(28)("keys"),
                            o = n(29);
                        e.exports = function(e) {
                            return i[e] || (i[e] = o(e))
                        }
                    },
                    function(e, t, n) {
                        var i = n(7).f,
                            o = n(12),
                            r = n(1)("toStringTag");
                        e.exports = function(e, t, n) {
                            e && !o(e = n ? e : e.prototype, r) && i(e, r, {
                                configurable: !0,
                                value: t
                            })
                        }
                    },
                    function(e, t, n) {
                        var i = n(11);
                        e.exports.f = function(e) {
                            return new function(e) {
                                var t, n;
                                this.promise = new e(function(e, i) {
                                    if (void 0 !== t || void 0 !== n) throw TypeError("Bad Promise constructor");
                                    t = e, n = i
                                }), this.resolve = i(t), this.reject = i(n)
                            }(e)
                        }
                    },
                    function(e, t, n) {
                        var i = n(16),
                            o = n(4),
                            r = n(46),
                            a = n(5),
                            s = n(9),
                            c = n(47),
                            u = n(21),
                            l = n(53),
                            d = n(1)("iterator"),
                            m = !([].keys && "next" in [].keys()),
                            h = function() {
                                return this
                            };
                        e.exports = function(e, t, n, f, g, p, v) {
                            c(n, t, f);
                            var _, w, b, y = function(e) {
                                    if (!m && e in S) return S[e];
                                    switch (e) {
                                        case "keys":
                                        case "values":
                                            return function() {
                                                return new n(this, e)
                                            }
                                    }
                                    return function() {
                                        return new n(this, e)
                                    }
                                },
                                I = t + " Iterator",
                                x = "values" == g,
                                k = !1,
                                S = e.prototype,
                                T = S[d] || S["@@iterator"] || g && S[g],
                                C = T || y(g),
                                A = g ? x ? y("entries") : C : void 0,
                                M = "Array" == t && S.entries || T;
                            if (M && (b = l(M.call(new e))) !== Object.prototype && b.next && (u(b, I, !0), i || "function" == typeof b[d] || a(b, d, h)), x && T && "values" !== T.name && (k = !0, C = function() {
                                return T.call(this)
                            }), i && !v || !m && !k && S[d] || a(S, d, C), s[t] = C, s[I] = h, g)
                                if (_ = {
                                    values: x ? C : y("values"),
                                    keys: p ? C : y("keys"),
                                    entries: A
                                }, v)
                                    for (w in _) w in S || r(S, w, _[w]);
                                else o(o.P + o.F * (m || k), t, _);
                            return _
                        }
                    },
                    function(e, t) {
                        e.exports = function(e, t) {
                            return {
                                enumerable: !(1 & e),
                                configurable: !(2 & e),
                                writable: !(4 & e),
                                value: t
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(50),
                            o = n(30);
                        e.exports = _.default || function(e) {
                            return i(e, o)
                        }
                    },
                    function(e, t, n) {
                        var i = n(13);
                        e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
                            return "String" == i(e) ? e.split("") : Object(e)
                        }
                    },
                    function(e, t, n) {
                        var i = n(14),
                            o = Math.min;
                        e.exports = function(e) {
                            return e > 0 ? o(i(e), 9007199254740991) : 0
                        }
                    },
                    function(e, t, n) {
                        var i = n(2),
                            o = n(0),
                            r = o["__core-js_shared__"] || (o["__core-js_shared__"] = {});
                        (e.exports = function(e, t) {
                            return r[e] || (r[e] = void 0 !== t ? t : {})
                        })("versions", []).push({
                            version: i.version,
                            mode: n(16) ? "pure" : "global",
                            copyright: "© 2018 Denis Pushkarev (zloirock.ru)"
                        })
                    },
                    function(e, t) {
                        var n = 0,
                            i = Math.random();
                        e.exports = function(e) {
                            return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + i).toString(36))
                        }
                    },
                    function(e, t) {
                        e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
                    },
                    function(e, t, n) {
                        var i = n(0).document;
                        e.exports = i && i.documentElement
                    },
                    function(e, t, n) {
                        var i = n(15);
                        e.exports = function(e) {
                            return Object(i(e))
                        }
                    },
                    function(e, t, n) {
                        var i = n(13),
                            o = n(1)("toStringTag"),
                            r = "Arguments" == i(function() {
                                return arguments
                            }());
                        e.exports = function(e) {
                            var t, n, a;
                            return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof(n = function(e, t) {
                                try {
                                    return e[t]
                                } catch (e) {}
                            }(t = Object(e), o)) ? n : r ? i(t) : "Object" == (a = i(t)) && "function" == typeof t.callee ? "Arguments" : a
                        }
                    },
                    function(e, t, n) {
                        var i = n(3),
                            o = n(11),
                            r = n(1)("species");
                        e.exports = function(e, t) {
                            var n, a = i(e).constructor;
                            return void 0 === a || void 0 == (n = i(a)[r]) ? t : o(n)
                        }
                    },
                    function(e, t, n) {
                        var i, o, r, a = n(10),
                            s = n(64),
                            c = n(31),
                            u = n(18),
                            l = n(0),
                            d = l.process,
                            m = l.setImmediate,
                            h = l.clearImmediate,
                            f = l.MessageChannel,
                            g = l.Dispatch,
                            p = 0,
                            v = {},
                            _ = function() {
                                var e = +this;
                                if (v.hasOwnProperty(e)) {
                                    var t = v[e];
                                    delete v[e], t()
                                }
                            },
                            w = function(e) {
                                _.call(e.data)
                            };
                        m && h || (m = function(e) {
                            for (var t = [], n = 1; arguments.length > n;) t.push(arguments[n++]);
                            return v[++p] = function() {
                                s("function" == typeof e ? e : Function(e), t)
                            }, i(p), p
                        }, h = function(e) {
                            delete v[e]
                        }, "process" == n(13)(d) ? i = function(e) {
                            d.nextTick(a(_, e, 1))
                        } : g && g.now ? i = function(e) {
                            g.now(a(_, e, 1))
                        } : f ? (r = (o = new f).port2, o.port1.onmessage = w, i = a(r.postMessage, r, 1)) : l.addEventListener && "function" == typeof postMessage && !l.importScripts ? (i = function(e) {
                            l.postMessage(e + "", "*")
                        }, l.addEventListener("message", w, !1)) : i = "onreadystatechange" in u("script") ? function(e) {
                            c.appendChild(u("script")).onreadystatechange = function() {
                                c.removeChild(this), _.call(e)
                            }
                        } : function(e) {
                            setTimeout(a(_, e, 1), 0)
                        }), e.exports = {
                            set: m,
                            clear: h
                        }
                    },
                    function(e, t) {
                        e.exports = function(e) {
                            try {
                                return {
                                    e: !1,
                                    v: e()
                                }
                            } catch (e) {
                                return {
                                    e: !0,
                                    v: e
                                }
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(3),
                            o = n(8),
                            r = n(22);
                        e.exports = function(e, t) {
                            if (i(e), o(t) && t.constructor === e) return t;
                            var n = r.f(e);
                            return (0, n.resolve)(t), n.promise
                        }
                    },
                    function(e, t, n) {
                        function i(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.Create = void 0;
                        var o = i(n(39)),
                            r = i(n(72)),
                            a = i(n(78)),
                            s = i(n(79));
                        t.Create = function() {
                            function e() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                (0, a.default)(this, e), this.canvas = null, this.options = (0, r.default)({
                                    mimeType: "image/png",
                                    quality: 1
                                }, t)
                            }
                            return (0, s.default)(e, [{
                                key: "compress",
                                value: function(e) {
                                    var t = this,
                                        n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                    if (e) {
                                        var i = (0, r.default)(this.options, n),
                                            o = void 0;
                                        this.compressImage(e, i).then(function(e) {
                                            return o = e, t.toBlob(e, i)
                                        }).then(function(n) {
                                            window.URL && window.URL.revokeObjectURL(o.src), n.name = e.name, i.success && i.success.call(t, n)
                                        }).catch(function(e) {
                                            if (!i.error) throw e;
                                            i.error.call(t, e)
                                        })
                                    }
                                }
                            }, {
                                key: "compressImage",
                                value: function(e) {
                                    return new o.default(function(t, n) {
                                        var i = new Image;
                                        if (i.onload = function() {
                                            return t(i)
                                        }, window.URL) i.src = window.URL.createObjectURL(e);
                                        else {
                                            var o = new FileReader;
                                            o.onload = function(e) {
                                                i.src = e.target.result
                                            }, o.onabort = function() {
                                                n(new Error("Aborted to load the image with FileReader."))
                                            }, o.onerror = function() {
                                                n(new Error("Failed to load the image with FileReader."))
                                            }, o.readAsDataURL(e)
                                        }
                                    })
                                }
                            }, {
                                key: "toBlob",
                                value: function(e, t) {
                                    var n = this,
                                        i = this.getRect(e, t);
                                    return new o.default(function(o, r) {
                                        if (n.canvas || (n.canvas = document.createElement("canvas")), n.canvas.getContext) {
                                            var a = n.canvas.getContext("2d");
                                            n.canvas.width = i.width, n.canvas.height = i.height, a.drawImage(e, 0, 0, i.width, i.height), n.canvas.toBlob(function(e) {
                                                e && o(e)
                                            }, t.mimeType, t.quality)
                                        } else r("Unsupport Canvas!")
                                    })
                                }
                            }, {
                                key: "getRect",
                                value: function(e, t) {
                                    var n = e.naturalWidth,
                                        i = e.naturalHeight,
                                        o = n / i,
                                        r = n,
                                        a = i;
                                    return t.width > 0 ? (r = t.width, a = t.width / o) : t.height > 0 && (r = (a = t.height) * o), {
                                        width: r,
                                        height: a
                                    }
                                }
                            }]), e
                        }()
                    },
                    function(e, t, n) {
                        e.exports = {
                            default: n(40),
                            __esModule: !0
                        }
                    },
                    function(e, t, n) {
                        n(41), n(42), n(54), n(58), n(70), n(71), e.exports = n(2).Promise
                    },
                    function(e, t) {},
                    function(e, t, n) {
                        var i = n(43)(!0);
                        n(23)(String, "String", function(e) {
                            this._t = String(e), this._i = 0
                        }, function() {
                            var e, t = this._t,
                                n = this._i;
                            return n >= t.length ? {
                                value: void 0,
                                done: !0
                            } : (e = i(t, n), this._i += e.length, {
                                value: e,
                                done: !1
                            })
                        })
                    },
                    function(e, t, n) {
                        var i = n(14),
                            o = n(15);
                        e.exports = function(e) {
                            return function(t, n) {
                                var r, a, s = String(o(t)),
                                    c = i(n),
                                    u = s.length;
                                return c < 0 || c >= u ? e ? "" : void 0 : (r = s.charCodeAt(c)) < 55296 || r > 56319 || c + 1 === u || (a = s.charCodeAt(c + 1)) < 56320 || a > 57343 ? e ? s.charAt(c) : r : e ? s.slice(c, c + 2) : a - 56320 + (r - 55296 << 10) + 65536
                            }
                        }
                    },
                    function(e, t, n) {
                        e.exports = !n(6) && !n(17)(function() {
                            return 7 != Object.defineProperty(n(18)("div"), "a", {
                                get: function() {
                                    return 7
                                }
                            }).a
                        })
                    },
                    function(e, t, n) {
                        var i = n(8);
                        e.exports = function(e, t) {
                            if (!i(e)) return e;
                            var n, o;
                            if (t && "function" == typeof(n = e.toString) && !i(o = n.call(e))) return o;
                            if ("function" == typeof(n = e.valueOf) && !i(o = n.call(e))) return o;
                            if (!t && "function" == typeof(n = e.toString) && !i(o = n.call(e))) return o;
                            throw TypeError("Can't convert object to primitive value")
                        }
                    },
                    function(e, t, n) {
                        e.exports = n(5)
                    },
                    function(e, t, n) {
                        var i = n(48),
                            o = n(24),
                            r = n(21),
                            a = {};
                        n(5)(a, n(1)("iterator"), function() {
                            return this
                        }), e.exports = function(e, t, n) {
                            e.prototype = i(a, {
                                next: o(1, n)
                            }), r(e, t + " Iterator")
                        }
                    },
                    function(e, t, n) {
                        var i = n(3),
                            o = n(49),
                            r = n(30),
                            a = n(20)("IE_PROTO"),
                            s = function() {},
                            c = function() {
                                var e, t = n(18)("iframe"),
                                    i = r.length;
                                for (t.style.display = "none", n(31).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), c = e.F; i--;) delete c.prototype[r[i]];
                                return c()
                            };
                        e.exports = b.default || function(e, t) {
                            var n;
                            return null !== e ? (s.prototype = i(e), n = new s, s.prototype = null, n[a] = e) : n = c(), void 0 === t ? n : o(n, t)
                        }
                    },
                    function(e, t, n) {
                        var i = n(7),
                            o = n(3),
                            r = n(25);
                        e.exports = n(6) ? p.default : function(e, t) {
                            o(e);
                            for (var n, a = r(t), s = a.length, c = 0; s > c;) i.f(e, n = a[c++], t[n]);
                            return e
                        }
                    },
                    function(e, t, n) {
                        var i = n(12),
                            o = n(19),
                            r = n(51)(!1),
                            a = n(20)("IE_PROTO");
                        e.exports = function(e, t) {
                            var n, s = o(e),
                                c = 0,
                                u = [];
                            for (n in s) n != a && i(s, n) && u.push(n);
                            for (; t.length > c;) i(s, n = t[c++]) && (~r(u, n) || u.push(n));
                            return u
                        }
                    },
                    function(e, t, n) {
                        var i = n(19),
                            o = n(27),
                            r = n(52);
                        e.exports = function(e) {
                            return function(t, n, a) {
                                var s, c = i(t),
                                    u = o(c.length),
                                    l = r(a, u);
                                if (e && n != n) {
                                    for (; u > l;)
                                        if ((s = c[l++]) != s) return !0
                                } else
                                    for (; u > l; l++)
                                        if ((e || l in c) && c[l] === n) return e || l || 0; return !e && -1
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(14),
                            o = Math.max,
                            r = Math.min;
                        e.exports = function(e, t) {
                            return (e = i(e)) < 0 ? o(e + t, 0) : r(e, t)
                        }
                    },
                    function(e, t, n) {
                        var i = n(12),
                            o = n(32),
                            r = n(20)("IE_PROTO"),
                            a = Object.prototype;
                        e.exports = f.default || function(e) {
                            return e = o(e), i(e, r) ? e[r] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
                        }
                    },
                    function(e, t, n) {
                        n(55);
                        for (var i = n(0), o = n(5), r = n(9), a = n(1)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), c = 0; c < s.length; c++) {
                            var u = s[c],
                                l = i[u],
                                d = l && l.prototype;
                            d && !d[a] && o(d, a, u), r[u] = r.Array
                        }
                    },
                    function(e, t, n) {
                        var i = n(56),
                            o = n(57),
                            r = n(9),
                            a = n(19);
                        e.exports = n(23)(Array, "Array", function(e, t) {
                            this._t = a(e), this._i = 0, this._k = t
                        }, function() {
                            var e = this._t,
                                t = this._k,
                                n = this._i++;
                            return !e || n >= e.length ? (this._t = void 0, o(1)) : o(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]])
                        }, "values"), r.Arguments = r.Array, i("keys"), i("values"), i("entries")
                    },
                    function(e, t) {
                        e.exports = function() {}
                    },
                    function(e, t) {
                        e.exports = function(e, t) {
                            return {
                                value: t,
                                done: !!e
                            }
                        }
                    },
                    function(e, t, n) {
                        var i, o, r, a, s = n(16),
                            c = n(0),
                            u = n(10),
                            l = n(33),
                            d = n(4),
                            m = n(8),
                            h = n(11),
                            f = n(59),
                            g = n(60),
                            p = n(34),
                            v = n(35).set,
                            _ = n(65)(),
                            w = n(22),
                            b = n(36),
                            y = n(66),
                            I = n(37),
                            x = c.TypeError,
                            k = c.process,
                            S = k && k.versions,
                            T = S && S.v8 || "",
                            C = c.Promise,
                            A = "process" == l(k),
                            M = function() {},
                            j = o = w.f,
                            D = !! function() {
                                try {
                                    var e = C.resolve(1),
                                        t = (e.constructor = {})[n(1)("species")] = function(e) {
                                            e(M, M)
                                        };
                                    return (A || "function" == typeof PromiseRejectionEvent) && e.then(M) instanceof t && 0 !== T.indexOf("6.6") && -1 === y.indexOf("Chrome/66")
                                } catch (e) {}
                            }(),
                            P = function(e) {
                                var t;
                                return !(!m(e) || "function" != typeof(t = e.then)) && t
                            },
                            F = function(e, t) {
                                if (!e._n) {
                                    e._n = !0;
                                    var n = e._c;
                                    _(function() {
                                        for (var i = e._v, o = 1 == e._s, r = 0; n.length > r;)! function(t) {
                                            var n, r, a, s = o ? t.ok : t.fail,
                                                c = t.resolve,
                                                u = t.reject,
                                                l = t.domain;
                                            try {
                                                s ? (o || (2 == e._h && U(e), e._h = 1), !0 === s ? n = i : (l && l.enter(), n = s(i), l && (l.exit(), a = !0)), n === t.promise ? u(x("Promise-chain cycle")) : (r = P(n)) ? r.call(n, c, u) : c(n)) : u(i)
                                            } catch (e) {
                                                l && !a && l.exit(), u(e)
                                            }
                                        }(n[r++]);
                                        e._c = [], e._n = !1, t && !e._h && E(e)
                                    })
                                }
                            },
                            E = function(e) {
                                v.call(c, function() {
                                    var t, n, i, o = e._v,
                                        r = R(e);
                                    if (r && (t = b(function() {
                                        A ? k.emit("unhandledRejection", o, e) : (n = c.onunhandledrejection) ? n({
                                            promise: e,
                                            reason: o
                                        }) : (i = c.console) && i.error && i.error("Unhandled promise rejection", o)
                                    }), e._h = A || R(e) ? 2 : 1), e._a = void 0, r && t.e) throw t.v
                                })
                            },
                            R = function(e) {
                                return 1 !== e._h && 0 === (e._a || e._c).length
                            },
                            U = function(e) {
                                v.call(c, function() {
                                    var t;
                                    A ? k.emit("rejectionHandled", e) : (t = c.onrejectionhandled) && t({
                                        promise: e,
                                        reason: e._v
                                    })
                                })
                            },
                            L = function(e) {
                                var t = this;
                                t._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), F(t, !0))
                            },
                            O = function e(t) {
                                var n, i = this;
                                if (!i._d) {
                                    i._d = !0, i = i._w || i;
                                    try {
                                        if (i === t) throw x("Promise can't be resolved itself");
                                        (n = P(t)) ? _(function() {
                                            var o = {
                                                _w: i,
                                                _d: !1
                                            };
                                            try {
                                                n.call(t, u(e, o, 1), u(L, o, 1))
                                            } catch (e) {
                                                L.call(o, e)
                                            }
                                        }): (i._v = t, i._s = 1, F(i, !1))
                                    } catch (t) {
                                        L.call({
                                            _w: i,
                                            _d: !1
                                        }, t)
                                    }
                                }
                            };
                        D || (C = function(e) {
                            f(this, C, "Promise", "_h"), h(e), i.call(this);
                            try {
                                e(u(O, this, 1), u(L, this, 1))
                            } catch (e) {
                                L.call(this, e)
                            }
                        }, (i = function(e) {
                            this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1
                        }).prototype = n(67)(C.prototype, {
                            then: function(e, t) {
                                var n = j(p(this, C));
                                return n.ok = "function" != typeof e || e, n.fail = "function" == typeof t && t, n.domain = A ? k.domain : void 0, this._c.push(n), this._a && this._a.push(n), this._s && F(this, !1), n.promise
                            },
                            catch: function(e) {
                                return this.then(void 0, e)
                            }
                        }), r = function() {
                            var e = new i;
                            this.promise = e, this.resolve = u(O, e, 1), this.reject = u(L, e, 1)
                        }, w.f = j = function(e) {
                            return e === C || e === a ? new r(e) : o(e)
                        }), d(d.G + d.W + d.F * !D, {
                            Promise: C
                        }), n(21)(C, "Promise"), n(68)("Promise"), a = n(2).Promise, d(d.S + d.F * !D, "Promise", {
                            reject: function(e) {
                                var t = j(this);
                                return (0, t.reject)(e), t.promise
                            }
                        }), d(d.S + d.F * (s || !D), "Promise", {
                            resolve: function(e) {
                                return I(s && this === a ? C : this, e)
                            }
                        }), d(d.S + d.F * !(D && n(69)(function(e) {
                            C.all(e).catch(M)
                        })), "Promise", {
                            all: function(e) {
                                var t = this,
                                    n = j(t),
                                    i = n.resolve,
                                    o = n.reject,
                                    r = b(function() {
                                        var n = [],
                                            r = 0,
                                            a = 1;
                                        g(e, !1, function(e) {
                                            var s = r++,
                                                c = !1;
                                            n.push(void 0), a++, t.resolve(e).then(function(e) {
                                                c || (c = !0, n[s] = e, --a || i(n))
                                            }, o)
                                        }), --a || i(n)
                                    });
                                return r.e && o(r.v), n.promise
                            },
                            race: function(e) {
                                var t = this,
                                    n = j(t),
                                    i = n.reject,
                                    o = b(function() {
                                        g(e, !1, function(e) {
                                            t.resolve(e).then(n.resolve, i)
                                        })
                                    });
                                return o.e && i(o.v), n.promise
                            }
                        })
                    },
                    function(e, t) {
                        e.exports = function(e, t, n, i) {
                            if (!(e instanceof t) || void 0 !== i && i in e) throw TypeError(n + ": incorrect invocation!");
                            return e
                        }
                    },
                    function(e, t, n) {
                        var i = n(10),
                            o = n(61),
                            r = n(62),
                            a = n(3),
                            s = n(27),
                            c = n(63),
                            u = {},
                            l = {};
                        (t = e.exports = function(e, t, n, d, m) {
                            var h, f, g, p, v = m ? function() {
                                    return e
                                } : c(e),
                                _ = i(n, d, t ? 2 : 1),
                                w = 0;
                            if ("function" != typeof v) throw TypeError(e + " is not iterable!");
                            if (r(v)) {
                                for (h = s(e.length); h > w; w++)
                                    if ((p = t ? _(a(f = e[w])[0], f[1]) : _(e[w])) === u || p === l) return p
                            } else
                                for (g = v.call(e); !(f = g.next()).done;)
                                    if ((p = o(g, _, f.value, t)) === u || p === l) return p
                        }).BREAK = u, t.RETURN = l
                    },
                    function(e, t, n) {
                        var i = n(3);
                        e.exports = function(e, t, n, o) {
                            try {
                                return o ? t(i(n)[0], n[1]) : t(n)
                            } catch (t) {
                                var r = e.return;
                                throw void 0 !== r && i(r.call(e)), t
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(9),
                            o = n(1)("iterator"),
                            r = Array.prototype;
                        e.exports = function(e) {
                            return void 0 !== e && (i.Array === e || r[o] === e)
                        }
                    },
                    function(e, t, n) {
                        var i = n(33),
                            o = n(1)("iterator"),
                            r = n(9);
                        e.exports = n(2).getIteratorMethod = function(e) {
                            if (void 0 != e) return e[o] || e["@@iterator"] || r[i(e)]
                        }
                    },
                    function(e, t) {
                        e.exports = function(e, t, n) {
                            var i = void 0 === n;
                            switch (t.length) {
                                case 0:
                                    return i ? e() : e.call(n);
                                case 1:
                                    return i ? e(t[0]) : e.call(n, t[0]);
                                case 2:
                                    return i ? e(t[0], t[1]) : e.call(n, t[0], t[1]);
                                case 3:
                                    return i ? e(t[0], t[1], t[2]) : e.call(n, t[0], t[1], t[2]);
                                case 4:
                                    return i ? e(t[0], t[1], t[2], t[3]) : e.call(n, t[0], t[1], t[2], t[3])
                            }
                            return e.apply(n, t)
                        }
                    },
                    function(e, t, n) {
                        var i = n(0),
                            o = n(35).set,
                            r = i.MutationObserver || i.WebKitMutationObserver,
                            a = i.process,
                            s = i.Promise,
                            c = "process" == n(13)(a);
                        e.exports = function() {
                            var e, t, n, u = function() {
                                var i, o;
                                for (c && (i = a.domain) && i.exit(); e;) {
                                    o = e.fn, e = e.next;
                                    try {
                                        o()
                                    } catch (i) {
                                        throw e ? n() : t = void 0, i
                                    }
                                }
                                t = void 0, i && i.enter()
                            };
                            if (c) n = function() {
                                a.nextTick(u)
                            };
                            else if (!r || i.navigator && i.navigator.standalone)
                                if (s && s.resolve) {
                                    var l = s.resolve(void 0);
                                    n = function() {
                                        l.then(u)
                                    }
                                } else n = function() {
                                    o.call(i, u)
                                };
                            else {
                                var d = !0,
                                    m = document.createTextNode("");
                                new r(u).observe(m, {
                                    characterData: !0
                                }), n = function() {
                                    m.data = d = !d
                                }
                            }
                            return function(i) {
                                var o = {
                                    fn: i,
                                    next: void 0
                                };
                                t && (t.next = o), e || (e = o, n()), t = o
                            }
                        }
                    },
                    function(e, t, n) {
                        var i = n(0).navigator;
                        e.exports = i && i.userAgent || ""
                    },
                    function(e, t, n) {
                        var i = n(5);
                        e.exports = function(e, t, n) {
                            for (var o in t) n && e[o] ? e[o] = t[o] : i(e, o, t[o]);
                            return e
                        }
                    },
                    function(e, t, n) {
                        var i = n(0),
                            o = n(2),
                            r = n(7),
                            a = n(6),
                            s = n(1)("species");
                        e.exports = function(e) {
                            var t = "function" == typeof o[e] ? o[e] : i[e];
                            a && t && !t[s] && r.f(t, s, {
                                configurable: !0,
                                get: function() {
                                    return this
                                }
                            })
                        }
                    },
                    function(e, t, n) {
                        var i = n(1)("iterator"),
                            o = !1;
                        try {
                            var r = [7][i]();
                            r.return = function() {
                                o = !0
                            }, (0, m.default)(r, function() {
                                throw 2
                            })
                        } catch (e) {}
                        e.exports = function(e, t) {
                            if (!t && !o) return !1;
                            var n = !1;
                            try {
                                var r = [7],
                                    a = r[i]();
                                a.next = function() {
                                    return {
                                        done: n = !0
                                    }
                                }, r[i] = function() {
                                    return a
                                }, e(r)
                            } catch (e) {}
                            return n
                        }
                    },
                    function(e, t, n) {
                        var i = n(4),
                            o = n(2),
                            r = n(0),
                            a = n(34),
                            s = n(37);
                        i(i.P + i.R, "Promise", {
                            finally: function(e) {
                                var t = a(this, o.Promise || r.Promise),
                                    n = "function" == typeof e;
                                return this.then(n ? function(n) {
                                    return s(t, e()).then(function() {
                                        return n
                                    })
                                } : e, n ? function(n) {
                                    return s(t, e()).then(function() {
                                        throw n
                                    })
                                } : e)
                            }
                        })
                    },
                    function(e, t, n) {
                        var i = n(4),
                            o = n(22),
                            r = n(36);
                        i(i.S, "Promise", {
                            try: function(e) {
                                var t = o.f(this),
                                    n = r(e);
                                return (n.e ? t.reject : t.resolve)(n.v), t.promise
                            }
                        })
                    },
                    function(e, t, n) {
                        e.exports = {
                            default: n(73),
                            __esModule: !0
                        }
                    },
                    function(e, t, n) {
                        n(74), e.exports = n(2).Object.assign
                    },
                    function(e, t, n) {
                        var i = n(4);
                        i(i.S + i.F, "Object", {
                            assign: n(75)
                        })
                    },
                    function(e, t, n) {
                        var i = n(25),
                            o = n(76),
                            r = n(77),
                            a = n(32),
                            s = n(26),
                            c = l.default;
                        e.exports = !c || n(17)(function() {
                            var e = {},
                                t = {},
                                n = (0, k.default)(),
                                i = "abcdefghijklmnopqrst";
                            return e[n] = 7, i.split("").forEach(function(e) {
                                t[e] = e
                            }), 7 != c({}, e)[n] || (0, _.default)(c({}, t)).join("") != i
                        }) ? function(e, t) {
                            for (var n = a(e), c = arguments.length, u = 1, l = o.f, d = r.f; c > u;)
                                for (var m, h = s(arguments[u++]), f = l ? i(h).concat(l(h)) : i(h), g = f.length, p = 0; g > p;) d.call(h, m = f[p++]) && (n[m] = h[m]);
                            return n
                        } : c
                    },
                    function(e, t) {
                        t.f = c.default
                    },
                    function(e, t) {
                        t.f = {}.propertyIsEnumerable
                    },
                    function(e, t, n) {
                        t.__esModule = !0, t.default = function(e, t) {
                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                        }
                    },
                    function(e, t, n) {
                        t.__esModule = !0;
                        var i = function(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }(n(80));
                        t.default = function() {
                            function e(e, t) {
                                for (var n = 0; n < t.length; n++) {
                                    var o = t[n];
                                    o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), (0, i.default)(e, o.key, o)
                                }
                            }
                            return function(t, n, i) {
                                return n && e(t.prototype, n), i && e(t, i), t
                            }
                        }()
                    },
                    function(e, t, n) {
                        e.exports = {
                            default: n(81),
                            __esModule: !0
                        }
                    },
                    function(e, t, n) {
                        n(82);
                        var i = n(2).Object;
                        e.exports = function(e, t, n) {
                            return i.defineProperty(e, t, n)
                        }
                    },
                    function(e, t, n) {
                        var i = n(4);
                        i(i.S + i.F * !n(6), "Object", {
                            defineProperty: n(7).f
                        })
                    }
                ])
            })
        }).call(t, n(309)(e))
    },
    455: function(e, t, n) {
        var i = n(456);
        "string" == typeof i && (i = [
            [e.i, i, ""]
        ]), i.locals && (e.exports = i.locals);
        n(12)("96514d76", i, !0, {})
    },
    456: function(e, t, n) {
        t = e.exports = n(11)(!1), t.push([e.i, '#chat-kefu[data-v-5d3e281a]{position:relative}#chat-kefu .back-agent[data-v-5d3e281a]{position:fixed;top:.24rem;left:.24rem;width:.54rem;height:.54rem;background:#181819;border-radius:50%;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:.5}#chat-kefu .back-agent img[data-v-5d3e281a]{width:.281rem;height:.281rem}#chat-kefu #chat-text[data-v-5d3e281a]{font-size:.32rem;height:auto;padding:.7rem .2rem 1.2rem;overflow-y:scroll}#chat-kefu #chat-text .holdOn[data-v-5d3e281a]{text-align:center;padding:.3rem 0;position:fixed;top:1rem}#chat-kefu #chat-text ul[data-v-5d3e281a]{padding-bottom:1rem}#chat-kefu #chat-text ul li[data-v-5d3e281a]{position:relative}#chat-kefu #chat-text ul li .message-wrap[data-v-5d3e281a]{display:flex;padding-top:.8rem;padding-bottom:.4rem}#chat-kefu #chat-text ul li p.time[data-v-5d3e281a]{font-size:.24rem;padding:.15rem;position:absolute;top:0;left:50%;transform:translateX(-50%);background:#eee}#chat-kefu #chat-text ul li img[data-v-5d3e281a]{width:1rem;height:1rem;border-radius:5px}#chat-kefu #chat-text ul li .text>p[data-v-5d3e281a]{max-width:4.56rem;padding:.26rem .3rem;margin:0 .2rem;background:#fff;border-radius:15px;word-break:normal;word-wrap:break-word}#chat-kefu #chat-text ul .Incoming_letter[data-v-5d3e281a]{display:flex}#chat-kefu #chat-text ul .Incoming_letter p.message[data-v-5d3e281a]{margin-left:.35rem;position:relative}#chat-kefu #chat-text ul .send_letter[data-v-5d3e281a]{display:flex;justify-content:flex-end}#chat-kefu #chat-text ul .send_letter p.message[data-v-5d3e281a]{order:1;color:#fff;margin-right:.35rem;background:#406ce8;position:relative}#chat-kefu #chat-text ul .send_letter img[data-v-5d3e281a]{order:2}#chat-kefu #chat-text ul .text[data-v-5d3e281a]{display:flex;justify-content:center}#chat-kefu #chat-text ul .text div.img-box[data-v-5d3e281a]{max-height:3rem;max-width:2.2rem;margin-right:.35rem;margin-left:.2rem}#chat-kefu #chat-text ul .text div.img-box img[data-v-5d3e281a]{width:100%;height:100%}#chat-kefu #chat-text ul .text img.no-send[data-v-5d3e281a]{order:1;height:.5rem;width:.5rem;margin-top:.2rem;margin-right:0}#chat-kefu #chat-text ul .text .message/deep/img.emoji[data-v-5d3e281a]{width:.5rem;height:.5rem}#chat-kefu #chat-text ul .text #evaluate-card[data-v-5d3e281a]{margin:.45rem;padding:.4rem;background:#fff}#chat-kefu #chat-text ul .text #evaluate-card .evaluate-text[data-v-5d3e281a]{display:flex;justify-content:center;align-items:center}#chat-kefu #chat-text ul .text #evaluate-card .evaluate-text img[data-v-5d3e281a]{padding-left:.2rem}#chat-kefu #chat-text ul .text #evaluate-card .evaluate-text p[data-v-5d3e281a]{color:#666}#chat-kefu #chat-send[data-v-5d3e281a]{position:fixed;bottom:0;left:0;right:0;z-index:99;display:flex;align-items:center;padding:.24rem .2rem;background:#fff}#chat-kefu #chat-send .emotion[data-v-5d3e281a]{position:relative;margin-top:.055rem}#chat-kefu #chat-send .emotion img.emoji[data-v-5d3e281a]{width:.44rem;height:.44rem}#chat-kefu #chat-send .emotion .emoji-box[data-v-5d3e281a]{width:7.2rem;position:absolute;top:-6.5rem;left:-.05rem;padding:.1rem;background:#fff;display:flex;flex-wrap:wrap;border-radius:5px;padding-left:.33rem;z-index:9}#chat-kefu #chat-send .emotion .emoji-box img[data-v-5d3e281a]{height:.66rem;width:.66rem;padding-right:.3rem}#chat-kefu #chat-send .emotion .swiper-slide[data-v-5d3e281a]{padding-bottom:.5rem}#chat-kefu #chat-send .send-text[data-v-5d3e281a]{font-size:.32rem;padding:.2rem .18rem;min-height:.7rem;max-height:2rem;overflow:auto;background:#f5f5f5;border-radius:5px;flex:1}#chat-kefu #chat-send .more[data-v-5d3e281a]{width:.6rem;height:.44rem;margin-left:.2rem;margin-right:.2rem;position:relative}#chat-kefu #chat-send .more img[data-v-5d3e281a]{width:.44rem;height:.44rem;position:absolute}#chat-kefu #chat-send .more input[type=file][data-v-5d3e281a]{width:.44rem;height:.44rem;position:absolute;z-index:9;opacity:0}#chat-kefu #chat-send button[name=send][data-v-5d3e281a]{color:#fff;padding:.24rem .32rem;margin-left:.2rem;background:#4b79ff;border-radius:5px}#chat-kefu #chat-join[data-v-5d3e281a]{color:#ccc;font-size:.28rem;position:fixed;top:.32rem;left:50%;transform:translateX(-50%)}@keyframes dot-data-v-5d3e281a{0%{width:0;margin-right:1.5em}33%{width:.5em;margin-right:1em}66%{width:1em;margin-right:.5em}to{width:1.5em;margin-right:0}}#chat-kefu #chat-join .point[data-v-5d3e281a]{font-family:simsun;display:inline-block;width:1.5rem;vertical-align:text-bottom;overflow:hidden;animation:dot-data-v-5d3e281a 3s infinite step-start}#chat-kefu #up-load[data-v-5d3e281a]{color:#ccc;font-size:.28rem;position:fixed;top:.32rem;left:50%;transform:translateX(-50%)}#chat-kefu #up-load img[data-v-5d3e281a]{height:.3rem;width:.3rem}#chat-kefu #save-img[data-v-5d3e281a]{position:fixed;top:2rem;left:1rem;right:1rem;bottom:3rem;z-index:12}#chat-kefu #save-img img[data-v-5d3e281a]{height:100%;width:100%;position:relative;z-index:12}#chat-kefu #save-img .cover[data-v-5d3e281a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#777;opacity:.5;z-index:11}#chat-kefu .box[data-v-5d3e281a]{position:fixed;top:0;left:0;z-index:999;width:100%;height:100%;background:rgba(0,0,0,.5)}#chat-kefu .box .loadimg[data-v-5d3e281a]{position:fixed;top:49%;left:41%;color:#fff;font-size:15px;font-weight:600}#chat-kefu .box .loader-15[data-v-5d3e281a]{position:fixed;top:45%;left:50%;z-index:999;color:#fff;background:currentcolor;-webkit-animation:loader-15-data-v-5d3e281a 1s ease-in-out infinite;animation:loader-15-data-v-5d3e281a 1s ease-in-out infinite;-webkit-animation-delay:.4s;animation-delay:.4s;width:.4em;height:1.3em}#chat-kefu .box .loader-15[data-v-5d3e281a]:after,#chat-kefu .box .loader-15[data-v-5d3e281a]:before{content:"";position:absolute;width:inherit;height:inherit;background:inherit;-webkit-animation:inherit;animation:inherit}#chat-kefu .box .loader-15[data-v-5d3e281a]:before{right:.5em;-webkit-animation-delay:.2s;animation-delay:.2s}#chat-kefu .box .loader-15[data-v-5d3e281a]:after{left:.5em;-webkit-animation-delay:.6s;animation-delay:.6s}@-webkit-keyframes loader-15-data-v-5d3e281a{0%,to{box-shadow:0 0 0 currentcolor,0 0 0 currentcolor}50%{box-shadow:0 -.25em 0 currentcolor,0 .25em 0 currentcolor}}@keyframes loader-15-data-v-5d3e281a{0%,to{box-shadow:0 0 0 currentcolor,0 0 0 currentcolor}50%{box-shadow:0 -.25em 0 currentcolor,0 .25em 0 currentcolor}}', ""])
    },
    457: function(e, t, n) {
        var i = n(458);
        "string" == typeof i && (i = [
            [e.i, i, ""]
        ]), i.locals && (e.exports = i.locals);
        n(12)("c55ed16e", i, !0, {})
    },
    458: function(e, t, n) {
        t = e.exports = n(11)(!1), t.push([e.i, "img.emoji{width:.5rem;height:.5rem}p.message a{color:blue;text-decoration:underline;font-weight:800}", ""])
    },
    459: function(module, exports, __webpack_require__) {
        "use strict";

        function _interopRequireWildcard(e) {
            if (e && e.__esModule) return e;
            var t = {};
            if (null != e)
                for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
            return t.default = e, t
        }

        function _interopRequireDefault(e) {
            return e && e.__esModule ? e : {
                default: e
            }
        }
        Object.defineProperty(exports, "__esModule", {
            value: !0
        });
        var _extends2 = __webpack_require__(36),
            _extends3 = _interopRequireDefault(_extends2),
            _stringify = __webpack_require__(60),
            _stringify2 = _interopRequireDefault(_stringify),
            _symbol = __webpack_require__(102),
            _symbol2 = _interopRequireDefault(_symbol),
            _exifJs = __webpack_require__(345),
            _exifJs2 = _interopRequireDefault(_exifJs),
            _imgCompressor = __webpack_require__(346),
            ImgCompressor = _interopRequireWildcard(_imgCompressor);
        __webpack_require__(117);
        var _vueAwesomeSwiper = __webpack_require__(118),
            _env = __webpack_require__(14),
            _getData = __webpack_require__(37),
            _mUtils = __webpack_require__(13),
            _vuex = __webpack_require__(20),
            _timers = __webpack_require__(98);
        exports.default = {
            name: "chatKefu",
            components: {
                swiper: _vueAwesomeSwiper.swiper,
                swiperSlide: _vueAwesomeSwiper.swiperSlide
            },
            data: function() {
                return {
                    swiperOption: {
                        pagination: {
                            el: ".swiper-pagination"
                        }
                    },
                    loadShow: !1,
                    actions: "",
                    hearbeatTime: "",
                    isGetHistorical: !0,
                    isKefuClose: !1,
                    sendTime: !1,
                    message: [],
                    isWeb: !0,
                    arrStatus: [],
                    chatTextD: "",
                    sendInputD: "",
                    fixedActie: !1,
                    isLoad: !1,
                    isRefresh: !0,
                    myText: "",
                    emoji1: 45,
                    emoji2: 44,
                    isEmoji: !1,
                    userId: "",
                    websock: "",
                    kefuId: "",
                    id: "",
                    currentPage: 1,
                    avatar: "",
                    kefuAvatar: "",
                    kefuName: "",
                    channelName: "",
                    workMessage: "",
                    imgUrl: "",
                    isSaveImg: !1,
                    imgArr: [],
                    imgSize: [],
                    base64Image: "",
                    sendImg: "",
                    startX: "",
                    startY: "",
                    historicalResult: "",
                    lock: !0,
                    unsent: [],
                    group: "",
                    holdNumber: "",
                    comeFlag: !0,
                    wsuri: "",
                    isZhuanjie: !1
                }
            },
            beforeRouteEnter: function(e, t, n) {
                if ("fphdOldApp" == FPHDSdk.getBrowserType() || "fphdNewApp" == FPHDSdk.getBrowserType() || "fphdApp" == FPHDSdk.getBrowserType()) {
                    var i = (0, _mUtils.getQueryString)("channelId"),
                        o = _env.channelConfig[i].name;
                    console.log(o), window.document.title = o
                }
                n(function(e) {})
            },
            created: function() {
                this.channelName = _env.channelConfig[this.channelId].name, this.initWebSocket()
            },
            mounted: function() {
                var e = this;
                this.chatTextD = this.$refs.chatText, this.sendInputD = this.$refs.sendInput, this.chatTextD.onscroll = this.pullLoad, window.alert = function(e) {
                    var t = document.createElement("IFRAME");
                    t.style.display = "none", t.setAttribute("src", "data:text/plain,"), document.documentElement.appendChild(t), window.frames[0].window.alert(e), t.parentNode.removeChild(t)
                }, this.uploadImg("uploadImg", "formChat_fileImg", function(t) {
                    console.log(t, "this is img"), e.sendImg = t, e.loadShow = !1;
                    var n = (0, _symbol2.default)();
                    e.imgSize.push(1), e.imgInfo(e.sendImg, n), e.imgArr.push(e.sendImg);
                    var i = {
                        sessionId: e.id,
                        kefuId: e.kefuId,
                        controller_name: "User/SendMessage",
                        method_name: "sendMessage",
                        token: e.token,
                        userId: e.userId,
                        channelId: e.channelId,
                        type: 2,
                        cmContentType: 2,
                        message: t,
                        cmCreateTime: "",
                        time: parseInt((new Date).getTime() / 1e3)
                    };
                    e.isRefresh = !0;
                    var o = localStorage.getItem("chat-TIME"),
                        r = parseInt(+new Date / 1e3);
                    o && r - o >= 600 && (i.cmCreateTime = r, localStorage.setItem("chat-TIME", r)), o || (localStorage.setItem("chat-TIME", r), i.cmCreateTime = r), e.message.push(i), e.isKefuClose ? (e.initWebSocket(), e.isGetHistorical = !1, e.isKefuClose = !1, e.unsent.push(i)) : e.websocketsend((0, _stringify2.default)(i))
                }), this.group = this.$route.query.group
            },
            methods: {
                getNowFormatDate: function() {
                    var e = new Date,
                        t = e.getFullYear(),
                        n = e.getMonth() + 1,
                        i = e.getDate();
                    return n >= 1 && n <= 9 && (n = "0" + n), i >= 0 && i <= 9 && (i = "0" + i), t + "-" + n + "-" + i
                },
                uploadImg: function uploadImg(uploadId, container, callbackImg) {
                    function send_request() {
                        var e = null;
                        if (window.XMLHttpRequest ? e = new XMLHttpRequest : window.ActiveXObject && (e = new ActiveXObject("Microsoft.XMLHTTP")), null != e) {
                            var t = _env.baseUrl + "/Extend/Oss/JsConfig?type=1";
                            return e.open("GET", t, !1), e.send(null), e.responseText
                        }
                        alert("Your browser does not support XMLHTTP.")
                    }

                    function get_signature() {
                        if (now = timestamp = Date.parse(new Date) / 1e3, expire < now + 3) {
                            var body = send_request(),
                                obj = eval("(" + body + ")");
                            obj = obj.data, host = obj.domain, policyBase64 = obj.policy, accessid = obj.accessid, signature = obj.signature;
                            var expireexpire = parseInt(obj.expire),
                                callbackbodycallbackbody = obj.callback;
                            return key = obj.dir, !0
                        }
                        return !1
                    }

                    function random_string(e) {
                        e = e || 32;
                        for (var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", n = t.length, i = that.getNowFormatDate(), o = 0; o < e; o++) i += t.charAt(Math.floor(Math.random() * n));
                        return i
                    }

                    function get_suffix(e) {
                        var t = e.lastIndexOf(".");
                        return suffix = "", -1 != t && (suffix = e.substring(t)), console.log("gif", suffix), suffix
                    }

                    function calculate_object_name(e) {
                        return "local_name" == g_object_name_type ? g_object_name += "${filename}" : "random_name" == g_object_name_type && (suffix = get_suffix(e), g_object_name = key + random_string(10) + suffix), ""
                    }

                    function get_uploaded_object_name(e) {
                        return "local_name" == g_object_name_type ? (tmp_name = g_object_name, tmp_name = tmp_name.replace("${filename}", e), tmp_name) : "random_name" == g_object_name_type ? g_object_name : void 0
                    }

                    function set_upload_param(e, t, n) {
                        0 == n && (n = get_signature()), g_object_name = key, "" != t && (suffix = get_suffix(t), calculate_object_name(t));
                        var i = {
                            key: g_object_name,
                            policy: policyBase64,
                            OSSAccessKeyId: accessid,
                            success_action_status: "200",
                            callback: callbackbody,
                            signature: signature
                        };
                        e.setOption({
                            url: host,
                            multipart_params: i
                        }), e.start()
                    }
                    var _this = this,
                        accessid = "",
                        host = "",
                        policyBase64 = "",
                        signature = "",
                        callbackbody = "",
                        filename = "",
                        key = "",
                        expire = 0,
                        g_object_name = "",
                        g_object_name_type = "",
                        now = void 0,
                        timestamp = Date.parse(new Date) / 1e3,
                        suffix = "",
                        that = this,
                        uploader = new plupload.Uploader({
                            runtimes: "html5,flash,silverlight,html4",
                            browse_button: uploadId,
                            container: document.getElementById(container),
                            flash_swf_url: "https://cdn.bootcss.com/plupload/2.1.2/Moxie.swf",
                            url: "https://oss.aliyuncs.com",
                            filters: {
                                max_file_size: "10mb",
                                prevent_duplicates: !0
                            },
                            resize: {
                                crop: !1,
                                quality: 50,
                                preserve_headers: !1
                            },
                            init: {
                                PostInit: function() {},
                                FilesAdded: function(e, t) {
                                    var n = t[0].name.lastIndexOf("."),
                                        i = t[0].name.substr(n + 1);
                                    if (!["mp4", "avi", "3gp", "rmvb", "gif", "mov", "flv"].every(function(e) {
                                        return i.toLocaleLowerCase() != e
                                    })) return _this.subText = "不支持该格式！", void(_this.bohuiShow = !0);
                                    set_upload_param(uploader, "", !1)
                                },
                                BeforeUpload: function(e, t) {
                                    console.log(t.name, "ssss"), _this.loadShow = !0;
                                    var n = t.name.lastIndexOf("."),
                                        i = t.name.substr(n + 1);
                                    if (!["mp4", "avi", "3gp", "rmvb", "gif", "mov", "flv"].every(function(e) {
                                        return i.toLocaleLowerCase() != e
                                    })) return console.log("现在的格式是：", i), that.loadingImg = !0, g_object_name_type = "random_name", void set_upload_param(e, "", !0);
                                    that.loadingImg = !0, g_object_name_type = "random_name", set_upload_param(e, t.name, !0)
                                },
                                UploadProgress: function(e, t) {},
                                FileUploaded: function(e, t, n) {
                                    that.loadingImg = !1, 200 == n.status ? (console.log("this is file.name", host), callbackImg(host + "/" + get_uploaded_object_name(t.name))) : console.log(n.response)
                                },
                                Error: function(e, t) {
                                    -600 == t.code ? console.log("选择的文件太大了,可以根据应用情况，在upload.js 设置一下上传的最大大小") : -601 == t.code ? console.log("选择的文件后缀不对,可以根据应用情况，在upload.js进行设置可允许的上传文件类型") : -602 == t.code ? console.log("这个文件已经上传过一遍了") : console.log(t.response)
                                }
                            }
                        });
                    uploader.init()
                },
                initWebSocket: function() {
                    1032 == this.channelId || 1032 == (0, _mUtils.getQueryString)("channelId") ? (this.wsuri = JONO_KEFUWS, console.log("本地玩")) : (this.wsuri = JONO_KEFUWS, console.log("非本地玩")), this.websock = new WebSocket(this.wsuri), this.websock.onmessage = this.websocketonmessage, this.websock.onerror = this.websocketonerror, this.websock.onopen = this.websocketonopen, this.websock.onclose = this.websocketclose, this.isGetHistorical = !0
                },
                websocketonopen: function() {
                    this.actions = {
                        controller_name: "User/Connect",
                        method_name: "Connect",
                        token: this.token,
                        from: "web",
                        group: this.group,
                        severUrl: this.wsuri
                    }, 1 != (0, _mUtils.getQueryString)("comeFrom") && 1 != (0, _mUtils.getHashQueryString)("comeFrom") || (this.actions.from = "village"), "fphdOldApp" != FPHDSdk.getBrowserType() && "fphdNewApp" != FPHDSdk.getBrowserType() && "fphdApp" != FPHDSdk.getBrowserType() || (this.actions.from = "app"), this.websocketsend((0, _stringify2.default)(this.actions))
                },
                websocketonerror: function() {},
                websocketonmessage: function(e) {
                    this.messageAccept(e)
                },
                websocketsend: function(e) {
                    this.websock.send(e)
                },
                websocketclose: function(e) {
                    console.log("断开连接", e), clearInterval(this.hearbeatTime), this.isKefuClose || (this.initWebSocket(), this.isGetHistorical = !1), this.isZhuanjie = !0
                },
                messageAccept: function(e) {
                    var t = this,
                        n = JSON.parse(e.data);
                    if (console.log("data", n), 120001 == n.code) alert("用户身份有误"), this.$router.push("/mine");
                    else if (120002 == n.code) {
                        console.log("登录成功"), this.userId = n.data.userId, this.kefuId = n.data.session.kefuId, this.id = n.data.session.id, this.avatar = n.data.avatar, this.kefuAvatar = n.data.kefuAvatar, document.title = this.channelName + "客服", this.holdNumber = n.data.QueueNumber;
                        var i = (new Date).getHours(),
                            o = (new Date).getMinutes(),
                            r = (0, _mUtils.getQueryString)("comeFrom") || (0, _mUtils.getHashQueryString)("comeFrom");
                        this.comeFlag && (i >= 22 || i < 10 && o <= 30 ? (this.workMessage = "您好亲，欢迎来到" + this.channelName + "~人工客服在线时间是9:30-22:00。如果在非工作时间段，您可以先留言您的问题，我们看到会尽快帮您处理哦", this.comeFlag = !1) : (this.holdNumber > 1 ? this.workMessage = "当前咨询排名第" + this.holdNumber + "位,请耐心等候" : 1 == r && 1032 == this.channelId || 1045 == this.channelId || 1048 == this.channelId ? this.workMessage = "您好亲，欢迎来到本地玩~如果您在小区列表没有找到您的小区，请留言给我们。符合配送条件的小区，我们将在一个工作日内进行添加" : 1 !== r && (this.workMessage = "您好亲，欢迎来到" + this.channelName + "~请问有什么可以帮助您的呢？"), this.comeFlag = !1));
                        var a = this.replace_em(this.workMessage),
                            s = a[0],
                            c = a[1],
                            u = {
                                type: 1,
                                method_name: "accept",
                                message: this.workMessage,
                                cmCreateTime: parseInt((new Date).getTime() / 1e3),
                                time: parseInt((new Date).getTime() / 1e3),
                                cmContentType: 1,
                                isEmoji: c,
                                emojiImg: s
                            };
                        if (0 == this.isZhuanjie ? this.message.push(u) : ((0, _timers.setTimeout)(function() {
                            t.isZhuanjie = !1
                        }, 1e3), console.log("转接")), 2 == u.cmContentType) {
                            this.imgArr.unshift(u.message);
                            var l = (0, _symbol2.default)();
                            this.imgSize.unshift(l), this.imgInfo(u.message, l)
                        } else this.imgSize.unshift(0);
                        console.log("this.message", this.message);
                        var d = {
                            controller_name: "User/Hearbeat",
                            method_name: "hearbeat",
                            userId: this.userId,
                            channelId: (0, _mUtils.getQueryString)("channelId")
                        };
                        this.hearbeatTime = setInterval(function() {
                            t.websocketsend((0, _stringify2.default)(d))
                        }, 3e3), this.unsent.length > 0 && this.unsent.map(function(e) {
                            t.websocketsend((0, _stringify2.default)(e))
                        }), (0, _timers.setTimeout)(function() {
                            t.isWeb = !1
                        }, 2e3), this.isGetHistorical && this.historicalMessage()
                    } else if (120003 == n.code);
                    else if (120004 == n.code) this.arrStatus.push(2);
                    else if (120005 == n.code) this.unsent = [], this.arrStatus.push(1);
                    else if (120006 == n.code) this.userId = n.data.userId, this.id = n.data.session.id, this.kefuId = n.data.session.kefuId;
                    else if (120007 == n.code) {
                        this.isRefresh = !1;
                        var m = n.data;
                        0 == m.result.length && window.scrollTo(0, 0);
                        var h = m.result.reverse();
                        if (h.length <= 0) return;
                        this.historicalResult = m.result;
                        for (var f = 0; f < h.length; f++) {
                            this.arrStatus.push(1);
                            var g = void 0;
                            f < h.length - 1 && h[f].cmCreateTime - h[f + 1].cmCreateTime >= 600 && (g = h[f].cmCreateTime);
                            var p = this.replace_em(h[f].cmContent),
                                v = p[0],
                                _ = p[1];
                            if (this.message.unshift({
                                id: h[f].id,
                                cmCreateTime: g,
                                method_name: 1 == h[f].cmType ? "sendMessage" : "accept",
                                cmContentType: h[f].cmContentType,
                                type: h[f].cmContentType,
                                message: h[f].cmContent,
                                time: h[f].cmCreateTime,
                                isEmoji: _,
                                emojiImg: v
                            }), 2 == h[f].cmContentType) {
                                this.imgArr.unshift(h[f].cmContent);
                                var w = (0, _symbol2.default)();
                                this.imgSize.unshift(w), this.imgInfo(h[f].cmContent, w)
                            } else this.imgSize.unshift(0)
                        }
                        this.isLoad = !1, (0, _timers.setTimeout)(function() {
                            t.chatTextD.scrollTop = 100
                        }, 0), this.lock && (0, _timers.setTimeout)(function() {
                            t.chatTextD.scrollTop = t.chatTextD.scrollHeight, document.body.scrollTop = 1e4, document.documentElement.scrollTop = 1e4, t.lock = !1
                        }, 100)
                    } else if (120008 == n.code) {
                        console.log("接收到消息");
                        var b = n.data;
                        this.isRefresh = !0;
                        var y = this.replace_em(b.cmContent),
                            I = y[0],
                            x = y[1],
                            k = void 0,
                            S = localStorage.getItem("chat-TIME"),
                            T = parseInt(+new Date / 1e3);
                        if (S && T - S >= 600 && (k = b.cmCreateTime, localStorage.setItem("chat-TIME", b.cmCreateTime)), S || (localStorage.setItem("chat-TIME", b.cmCreateTime), k = b.cmCreateTime), this.message.push({
                            type: 2 == b.cmContentType ? 2 : 1,
                            cmCreateTime: k,
                            cmContentType: b.cmContentType,
                            message: b.cmContent,
                            isEmoji: x,
                            emojiImg: I,
                            time: b.cmCreateTime
                        }), 2 == b.cmContentType) {
                            this.imgArr.push(b.cmContent);
                            var C = (0, _symbol2.default)();
                            this.imgSize.push(C), this.imgInfo(b.cmContent, C)
                        } else this.imgSize.push(0)
                    } else 120009 == n.code || 120010 == n.code || (120011 == n.code ? (this.isKefuClose = !0, this.websock.close()) : 120012 == n.code ? (alert("您已在其他设备上登录"), "game" == this.$route.query.path ? this.$router.push("/index/interface") : this.$router.go(-1)) : 120013 == n.code && (this.isZhuanjie = !0))
                },
                sendText: function(e) {
                    var t = this.sendInputD.innerText;
                    if (this.isEmoji = !1, "" == t || /^\s+$/gi.test(t)) return void alert("不能发送空白消息");
                    var n = this.replace_em(t),
                        i = n[0],
                        o = n[1],
                        r = {
                            controller_name: "User/SendMessage",
                            method_name: "sendMessage",
                            token: this.token,
                            userId: this.userId,
                            channelId: this.channelId,
                            type: 1,
                            message: t,
                            cmCreateTime: "",
                            time: parseInt((new Date).getTime() / 1e3),
                            isEmoji: o,
                            emojiImg: i
                        };
                    this.isRefresh = !0;
                    var a = localStorage.getItem("chat-TIME"),
                        s = parseInt(+new Date / 1e3);
                    a && s - a >= 600 && (r.cmCreateTime = s, localStorage.setItem("chat-TIME", s)), a || (localStorage.setItem("chat-TIME", s), r.cmCreateTime = s), this.message.push(r), this.isKefuClose ? (this.initWebSocket(), this.isGetHistorical = !1, this.isKefuClose = !1, this.unsent.push(r)) : this.websocketsend((0, _stringify2.default)(r)), this.sendInputD.innerText = ""
                },
                historicalMessage: function(e) {
                    var t = this.message.length > 0 ? this.message[0].id : "",
                        n = {
                            controller_name: "User/News",
                            method_name: "news",
                            userId: this.userId,
                            pageSize: 5,
                            lastTime: e || parseInt(+new Date / 1e3),
                            lastId: t
                        };
                    this.websocketsend((0, _stringify2.default)(n))
                },
                upImgBtn: function() {},
                upImg: function(e) {
                    var t = this,
                        n = new FormData;
                    n.append("file", e, e.name), (0, _getData.upImg)(n).then(function(e) {
                        var n = e.data;
                        if (0 == n.code) {
                            t.sendImg = n.data[0];
                            var i = (0, _symbol2.default)();
                            t.imgSize.push(1), t.imgInfo(t.sendImg, i), t.imgArr.push(t.sendImg);
                            var o = {
                                sessionId: t.id,
                                kefuId: t.kefuId,
                                controller_name: "User/SendMessage",
                                method_name: "sendMessage",
                                token: t.token,
                                userId: t.userId,
                                channelId: t.channelId,
                                type: 2,
                                cmContentType: 2,
                                message: n.data[0],
                                cmCreateTime: "",
                                time: parseInt((new Date).getTime() / 1e3)
                            };
                            t.isRefresh = !0;
                            var r = localStorage.getItem("chat-TIME"),
                                a = parseInt(+new Date / 1e3);
                            r && a - r >= 600 && (o.cmCreateTime = a, localStorage.setItem("chat-TIME", a)), r || (localStorage.setItem("chat-TIME", a), o.cmCreateTime = a), t.message.push(o), t.isKefuClose ? (t.initWebSocket(), t.isGetHistorical = !1, t.isKefuClose = !1, t.unsent.push(o)) : t.websocketsend((0, _stringify2.default)(o))
                        }
                    })
                },
                saveImg: function(e) {
                    this.isWeiXin() ? WeixinJSBridge.invoke("imagePreview", {
                        urls: this.imgArr,
                        current: e
                    }) : (this.imgUrl = e, this.isSaveImg = !0)
                },
                isWeiXin: function() {
                    return "micromessenger" == window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i)
                },
                imgInfo: function(e, t) {
                    var n = this,
                        i = new Image;
                    i.src = e, i.onload = function() {
                        var e = i.height,
                            o = i.width,
                            r = n.imgSize.indexOf(t);
                        console.log(n.imgSize), e > o ? n.imgSize.splice(r, 1, "w") : n.imgSize.splice(r, 1, "h")
                    }
                },
                closeSaveImg: function() {
                    this.isSaveImg = !1
                },
                imgPreview: function(e, t) {
                    var n = this,
                        i = void 0;
                    if (_exifJs2.default.getData(e, function() {
                        i = _exifJs2.default.getTag(this, "Orientation")
                    }), e && window.FileReader && /^image/.test(e.type)) {
                        var o = new FileReader;
                        o.readAsDataURL(e), o.onloadend = function() {
                            var e = this.result,
                                o = new Image;
                            o.src = e, this.result.length <= 102400 ? (n.base64Image = this.result, t(this.result)) : o.onload = function() {
                                var e = n.compress(o, i);
                                n.base64Image = e, t(e)
                            }
                        }
                    }
                },
                rotateImg: function(e, t, n) {
                    if (null != e) {
                        var i = e.height,
                            o = e.width,
                            r = 2;
                        null == r && (r = 0), "right" == t ? ++r > 3 && (r = 0) : --r < 0 && (r = 3);
                        var a = 90 * r * Math.PI / 180,
                            s = n.getContext("2d");
                        switch (r) {
                            case 0:
                                n.width = o, n.height = i, s.drawImage(e, 0, 0);
                                break;
                            case 1:
                                n.width = i, n.height = o, s.rotate(a), s.drawImage(e, 0, -i);
                                break;
                            case 2:
                                n.width = o, n.height = i, s.rotate(a), s.drawImage(e, -o, -i);
                                break;
                            case 3:
                                n.width = i, n.height = o, s.rotate(a), s.drawImage(e, -o, 0)
                        }
                    }
                },
                compress: function(e, t) {
                    var n = document.createElement("canvas"),
                        i = n.getContext("2d"),
                        o = document.createElement("canvas"),
                        r = o.getContext("2d"),
                        a = e.src.length,
                        s = e.width,
                        c = e.height,
                        u = void 0;
                    (u = s * c / 4e6) > 1 ? (console.log("大于400万像素"), u = Math.sqrt(u), s /= u, c /= u) : u = 1, n.width = s, n.height = c, i.fillStyle = "#fff", i.fillRect(0, 0, n.width, n.height);
                    var l = void 0;
                    if ((l = s * c / 1e6) > 1) {
                        console.log("超过100W像素"), l = ~~(Math.sqrt(l) + 1);
                        var d = ~~(s / l),
                            m = ~~(c / l);
                        o.width = d, o.height = m;
                        for (var h = 0; h < l; h++)
                            for (var f = 0; f < l; f++) r.drawImage(e, h * d * u, f * m * u, d * u, m * u, 0, 0, d, m), i.drawImage(o, h * d, f * m, d, m)
                    } else i.drawImage(e, 0, 0, s, c); if ("" != t && 1 != t) switch (t) {
                        case 6:
                            this.rotateImg(e, "left", n);
                            break;
                        case 8:
                            this.rotateImg(e, "right", n);
                            break;
                        case 3:
                            this.rotateImg(e, "right", n), this.rotateImg(e, "right", n)
                    }
                    var g = n.toDataURL("image/jpeg", .1);
                    return console.log("压缩前：" + a), console.log("压缩后：" + g.length), console.log("压缩率：" + ~~(100 * (a - g.length) / a) + "%"), o.width = o.height = n.width = n.height = 0, g
                },
                dataURLtoFile: function(e) {
                    for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "file", n = e.split(","), i = n[0].match(/:(.*?);/)[1], o = i.split("/")[1], r = atob(n[1]), a = r.length, s = new Uint8Array(a); a--;) s[a] = r.charCodeAt(a);
                    return new File([s], t + "." + o, {
                        type: i
                    })
                },
                pullLoad: function() {
                    if (this.chatTextD.scrollTop <= 0) {
                        if (this.historicalResult.length < 5) return this.isLoad = !1, !1;
                        this.isLoad = !0, this.historicalMessage(this.message[0].time)
                    }
                },
                closeKeyboard: function() {
                    this.sendInputD.blur(), this.isEmoji = !1
                },
                refresh: function() {
                    var e = this;
                    (0, _timers.setTimeout)(function() {
                        e.chatTextD.scrollTop = e.chatTextD.scrollHeight, document.body.scrollTop = 1e4, document.documentElement.scrollTop = 1e4
                    }, 100)
                },
                setStyle: function(e) {
                    1 == e && (0, _timers.setTimeout)(function() {
                        window.scrollTo(0, 100)
                    }, 0)
                },
                selectEmoji: function(e) {
                    this.sendInputD.innerText += "[em_" + e + "]", this.isEmoji = !1
                },
                replace_em: function(e) {
                    var t = /\[em_\d+\]/,
                        n = t.test(e);
                    return e = e.replace(/\[em_([0-9]*)\]/g, '<img src="/hall/chat/emoji/$1.svg" class="emoji">'), [e, n]
                },
                getInoutText: function() {
                    this.sendInputD.innerText.length >= 300 && (this.sendInputD.innerText = this.sendInputD.innerText.substring(0, 300), this.sendInputD.blur())
                },
                evaluateBtn: function(e) {
                    window.location.href = "https://" + location.host + "/hall/index.html?channelId=" + this.channelId + "#/kefuEvaluate?" + e
                },
                goBack: function() {
                    "game" == this.$route.query.path ? this.$router.push("/index/interface") : 1 == this.$route.query.shanghuStore ? window.location.href = "https://" + window.location.host + "/member/store/index.html?channelId=" + this.channelId + "#/merchantHomepage" : 1 == (0, _mUtils.getQueryString)("comeFrom") || 1 == (0, _mUtils.getHashQueryString)("comeFrom") ? this.$router.push({
                        path: "/yiqingAddress",
                        query: {
                            storeId: this.$route.query.storeId
                        }
                    }) : window.history.length > 1 ? this.$router.go(-1) : this.$router.push("/")
                }
            },
            filters: {
                time: function(e) {
                    return (0, _mUtils.dateFilter)(e, 3)
                }
            },
            computed: (0, _extends3.default)({}, (0, _vuex.mapState)(["channelId", "token"])),
            watch: {
                message: function() {
                    this.isRefresh && this.refresh()
                }
            },
            destroyed: function() {
                this.isKefuClose = !0, this.websock.close(), clearInterval(this.hearbeatTime), clearInterval(this.sendTime)
            }
        }
    },
    460: function(module, exports, __webpack_require__) {
        "use strict";

        function _interopRequireWildcard(e) {
            if (e && e.__esModule) return e;
            var t = {};
            if (null != e)
                for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
            return t.default = e, t
        }

        function _interopRequireDefault(e) {
            return e && e.__esModule ? e : {
                default: e
            }
        }
        Object.defineProperty(exports, "__esModule", {
            value: !0
        });
        var _extends2 = __webpack_require__(36),
            _extends3 = _interopRequireDefault(_extends2),
            _stringify = __webpack_require__(60),
            _stringify2 = _interopRequireDefault(_stringify),
            _symbol = __webpack_require__(102),
            _symbol2 = _interopRequireDefault(_symbol),
            _exifJs = __webpack_require__(345),
            _exifJs2 = _interopRequireDefault(_exifJs),
            _imgCompressor = __webpack_require__(346),
            ImgCompressor = _interopRequireWildcard(_imgCompressor);
        __webpack_require__(117);
        var _vueAwesomeSwiper = __webpack_require__(118),
            _env = __webpack_require__(14),
            _getData = __webpack_require__(37),
            _mUtils = __webpack_require__(13),
            _vuex = __webpack_require__(20),
            _timers = __webpack_require__(98);
        exports.default = {
            name: "chatKefu",
            components: {
                swiper: _vueAwesomeSwiper.swiper,
                swiperSlide: _vueAwesomeSwiper.swiperSlide
            },
            data: function() {
                return {
                    swiperOption: {
                        pagination: {
                            el: ".swiper-pagination"
                        }
                    },
                    loadShow: !1,
                    actions: "",
                    hearbeatTime: "",
                    isGetHistorical: !0,
                    isKefuClose: !1,
                    sendTime: !1,
                    message: [],
                    isWeb: !0,
                    arrStatus: [],
                    chatTextD: "",
                    sendInputD: "",
                    fixedActie: !1,
                    isLoad: !1,
                    isRefresh: !0,
                    myText: "",
                    emoji1: 45,
                    emoji2: 44,
                    isEmoji: !1,
                    userId: "",
                    websock: "",
                    kefuId: "",
                    id: "",
                    currentPage: 1,
                    avatar: "",
                    kefuAvatar: "",
                    kefuName: "",
                    channelName: "",
                    workMessage: "",
                    imgUrl: "",
                    isSaveImg: !1,
                    imgArr: [],
                    imgSize: [],
                    base64Image: "",
                    sendImg: "",
                    startX: "",
                    startY: "",
                    historicalResult: "",
                    lock: !0,
                    unsent: [],
                    group: "",
                    holdNumber: "",
                    comeFlag: !0,
                    wsuri: "",
                    isZhuanjie: !1
                }
            },
            beforeRouteEnter: function(e, t, n) {
                if ("fphdOldApp" == FPHDSdk.getBrowserType() || "fphdNewApp" == FPHDSdk.getBrowserType() || "fphdApp" == FPHDSdk.getBrowserType()) {
                    var i = (0, _mUtils.getQueryString)("channelId"),
                        o = _env.channelConfig[i].name;
                    console.log(o), window.document.title = o
                }
                n(function(e) {})
            },
            created: function() {
                this.channelName = _env.channelConfig[this.channelId].name, this.initWebSocket()
            },
            mounted: function() {
                var e = this;
                this.chatTextD = this.$refs.chatText, this.sendInputD = this.$refs.sendInput, this.chatTextD.onscroll = this.pullLoad, window.alert = function(e) {
                    var t = document.createElement("IFRAME");
                    t.style.display = "none", t.setAttribute("src", "data:text/plain,"), document.documentElement.appendChild(t), window.frames[0].window.alert(e), t.parentNode.removeChild(t)
                }, this.uploadImg("uploadImg", "formChat_fileImg", function(t) {
                    console.log(t, "this is img"), e.sendImg = t, e.loadShow = !1;
                    var n = (0, _symbol2.default)();
                    e.imgSize.push(1), e.imgInfo(e.sendImg, n), e.imgArr.push(e.sendImg);
                    var i = {
                        sessionId: e.id,
                        kefuId: e.kefuId,
                        controller_name: "User/SendMessage",
                        method_name: "sendMessage",
                        token: e.token,
                        userId: e.userId,
                        channelId: e.channelId,
                        type: 2,
                        cmContentType: 2,
                        message: t,
                        cmCreateTime: "",
                        time: parseInt((new Date).getTime() / 1e3)
                    };
                    e.isRefresh = !0;
                    var o = localStorage.getItem("chat-TIME"),
                        r = parseInt(+new Date / 1e3);
                    o && r - o >= 600 && (i.cmCreateTime = r, localStorage.setItem("chat-TIME", r)), o || (localStorage.setItem("chat-TIME", r), i.cmCreateTime = r), e.message.push(i), e.isKefuClose ? (e.initWebSocket(), e.isGetHistorical = !1, e.isKefuClose = !1, e.unsent.push(i)) : e.websocketsend((0, _stringify2.default)(i))
                }), this.group = this.$route.query.group
            },
            methods: {
                getNowFormatDate: function() {
                    var e = new Date,
                        t = e.getFullYear(),
                        n = e.getMonth() + 1,
                        i = e.getDate();
                    return n >= 1 && n <= 9 && (n = "0" + n), i >= 0 && i <= 9 && (i = "0" + i), t + "-" + n + "-" + i
                },
                uploadImg: function uploadImg(uploadId, container, callbackImg) {
                    function send_request() {
                        var e = null;
                        if (window.XMLHttpRequest ? e = new XMLHttpRequest : window.ActiveXObject && (e = new ActiveXObject("Microsoft.XMLHTTP")), null != e) {
                            var t = _env.baseUrl + "/Extend/Oss/JsConfig?type=1";
                            return e.open("GET", t, !1), e.send(null), e.responseText
                        }
                        alert("Your browser does not support XMLHTTP.")
                    }

                    function get_signature() {
                        if (now = timestamp = Date.parse(new Date) / 1e3, expire < now + 3) {
                            var body = send_request(),
                                obj = eval("(" + body + ")");
                            obj = obj.data, host = obj.domain, policyBase64 = obj.policy, accessid = obj.accessid, signature = obj.signature;
                            var expireexpire = parseInt(obj.expire),
                                callbackbodycallbackbody = obj.callback;
                            return key = obj.dir, !0
                        }
                        return !1
                    }

                    function random_string(e) {
                        e = e || 32;
                        for (var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", n = t.length, i = that.getNowFormatDate(), o = 0; o < e; o++) i += t.charAt(Math.floor(Math.random() * n));
                        return i
                    }

                    function get_suffix(e) {
                        var t = e.lastIndexOf(".");
                        return suffix = "", -1 != t && (suffix = e.substring(t)), console.log("gif", suffix), suffix
                    }

                    function calculate_object_name(e) {
                        return "local_name" == g_object_name_type ? g_object_name += "${filename}" : "random_name" == g_object_name_type && (suffix = get_suffix(e), g_object_name = key + random_string(10) + suffix), ""
                    }

                    function get_uploaded_object_name(e) {
                        return "local_name" == g_object_name_type ? (tmp_name = g_object_name, tmp_name = tmp_name.replace("${filename}", e), tmp_name) : "random_name" == g_object_name_type ? g_object_name : void 0
                    }

                    function set_upload_param(e, t, n) {
                        0 == n && (n = get_signature()), g_object_name = key, "" != t && (suffix = get_suffix(t), calculate_object_name(t));
                        var i = {
                            key: g_object_name,
                            policy: policyBase64,
                            OSSAccessKeyId: accessid,
                            success_action_status: "200",
                            callback: callbackbody,
                            signature: signature
                        };
                        e.setOption({
                            url: host,
                            multipart_params: i
                        }), e.start()
                    }
                    var _this = this,
                        accessid = "",
                        host = "",
                        policyBase64 = "",
                        signature = "",
                        callbackbody = "",
                        filename = "",
                        key = "",
                        expire = 0,
                        g_object_name = "",
                        g_object_name_type = "",
                        now = void 0,
                        timestamp = Date.parse(new Date) / 1e3,
                        suffix = "",
                        that = this,
                        uploader = new plupload.Uploader({
                            runtimes: "html5,flash,silverlight,html4",
                            browse_button: uploadId,
                            container: document.getElementById(container),
                            flash_swf_url: "https://cdn.bootcss.com/plupload/2.1.2/Moxie.swf",
                            url: "https://oss.aliyuncs.com",
                            filters: {
                                max_file_size: "10mb",
                                prevent_duplicates: !0
                            },
                            resize: {
                                crop: !1,
                                quality: 50,
                                preserve_headers: !1
                            },
                            init: {
                                PostInit: function() {},
                                FilesAdded: function(e, t) {
                                    var n = t[0].name.lastIndexOf("."),
                                        i = t[0].name.substr(n + 1);
                                    if (!["mp4", "avi", "3gp", "rmvb", "gif", "mov", "flv"].every(function(e) {
                                        return i.toLocaleLowerCase() != e
                                    })) return _this.subText = "不支持该格式！", void(_this.bohuiShow = !0);
                                    set_upload_param(uploader, "", !1)
                                },
                                BeforeUpload: function(e, t) {
                                    console.log(t.name, "ssss"), _this.loadShow = !0;
                                    var n = t.name.lastIndexOf("."),
                                        i = t.name.substr(n + 1);
                                    if (!["mp4", "avi", "3gp", "rmvb", "gif", "mov", "flv"].every(function(e) {
                                        return i.toLocaleLowerCase() != e
                                    })) return console.log("现在的格式是：", i), that.loadingImg = !0, g_object_name_type = "random_name", void set_upload_param(e, "", !0);
                                    that.loadingImg = !0, g_object_name_type = "random_name", set_upload_param(e, t.name, !0)
                                },
                                UploadProgress: function(e, t) {},
                                FileUploaded: function(e, t, n) {
                                    that.loadingImg = !1, 200 == n.status ? (console.log("this is file.name", host), callbackImg(host + "/" + get_uploaded_object_name(t.name))) : console.log(n.response)
                                },
                                Error: function(e, t) {
                                    -600 == t.code ? console.log("选择的文件太大了,可以根据应用情况，在upload.js 设置一下上传的最大大小") : -601 == t.code ? console.log("选择的文件后缀不对,可以根据应用情况，在upload.js进行设置可允许的上传文件类型") : -602 == t.code ? console.log("这个文件已经上传过一遍了") : console.log(t.response)
                                }
                            }
                        });
                    uploader.init()
                },
                initWebSocket: function() {
                    1032 == this.channelId || 1032 == (0, _mUtils.getQueryString)("channelId") ? (this.wsuri = JONO_KEFUWS, console.log("本地玩")) : (this.wsuri = JONO_KEFUWS, console.log("非本地玩")), this.websock = new WebSocket(this.wsuri), this.websock.onmessage = this.websocketonmessage, this.websock.onerror = this.websocketonerror, this.websock.onopen = this.websocketonopen, this.websock.onclose = this.websocketclose, this.isGetHistorical = !0
                },
                websocketonopen: function() {
                    this.actions = {
                        controller_name: "User/Connect",
                        method_name: "Connect",
                        token: this.token,
                        from: "web",
                        group: this.group,
                        severUrl: this.wsuri
                    }, 1 != (0, _mUtils.getQueryString)("comeFrom") && 1 != (0, _mUtils.getHashQueryString)("comeFrom") || (this.actions.from = "village"), "fphdOldApp" != FPHDSdk.getBrowserType() && "fphdNewApp" != FPHDSdk.getBrowserType() && "fphdApp" != FPHDSdk.getBrowserType() || (this.actions.from = "app"), this.websocketsend((0, _stringify2.default)(this.actions))
                },
                websocketonerror: function() {},
                websocketonmessage: function(e) {
                    this.messageAccept(e)
                },
                websocketsend: function(e) {
                    this.websock.send(e)
                },
                websocketclose: function(e) {
                    console.log("断开连接", e), clearInterval(this.hearbeatTime), this.isKefuClose || (this.initWebSocket(), this.isGetHistorical = !1), this.isZhuanjie = !0
                },
                messageAccept: function(e) {
                    var t = this,
                        n = JSON.parse(e.data);
                    if (console.log("data", n), 120001 == n.code) alert("用户身份有误"), this.$router.push("/mine");
                    else if (120002 == n.code) {
                        console.log("登录成功"), this.userId = n.data.userId, this.kefuId = n.data.session.kefuId, this.id = n.data.session.id, this.avatar = n.data.avatar, this.kefuAvatar = n.data.kefuAvatar, document.title = this.channelName + "客服", this.holdNumber = n.data.QueueNumber;
                        var i = (new Date).getHours(),
                            o = (new Date).getMinutes(),
                            r = (0, _mUtils.getQueryString)("comeFrom") || (0, _mUtils.getHashQueryString)("comeFrom");
                        this.comeFlag && (i >= 22 || i < 10 && o <= 30 ? (this.workMessage = "您好亲，欢迎来到" + this.channelName + "~人工客服在线时间是9:30-22:00。如果在非工作时间段，您可以先留言您的问题，我们看到会尽快帮您处理哦", this.comeFlag = !1) : (this.holdNumber > 1 ? this.workMessage = "当前咨询排名第" + this.holdNumber + "位,请耐心等候" : 1 == r && 1032 == this.channelId || 1045 == this.channelId || 1048 == this.channelId ? this.workMessage = "您好亲，欢迎来到本地玩~如果您在小区列表没有找到您的小区，请留言给我们。符合配送条件的小区，我们将在一个工作日内进行添加" : 1 !== r && (this.workMessage = "您好亲，欢迎来到" + this.channelName + "~请问有什么可以帮助您的呢？"), this.comeFlag = !1));
                        var a = this.replace_em(this.workMessage),
                            s = a[0],
                            c = a[1],
                            u = {
                                type: 1,
                                method_name: "accept",
                                message: this.workMessage,
                                cmCreateTime: parseInt((new Date).getTime() / 1e3),
                                time: parseInt((new Date).getTime() / 1e3),
                                cmContentType: 1,
                                isEmoji: c,
                                emojiImg: s
                            };
                        if (0 == this.isZhuanjie ? this.message.push(u) : ((0, _timers.setTimeout)(function() {
                            t.isZhuanjie = !1
                        }, 1e3), console.log("转接")), 2 == u.cmContentType) {
                            this.imgArr.unshift(u.message);
                            var l = (0, _symbol2.default)();
                            this.imgSize.unshift(l), this.imgInfo(u.message, l)
                        } else this.imgSize.unshift(0);
                        console.log("this.message", this.message);
                        var d = {
                            controller_name: "User/Hearbeat",
                            method_name: "hearbeat",
                            userId: this.userId,
                            channelId: (0, _mUtils.getQueryString)("channelId")
                        };
                        this.hearbeatTime = setInterval(function() {
                            t.websocketsend((0, _stringify2.default)(d))
                        }, 3e3), this.unsent.length > 0 && this.unsent.map(function(e) {
                            t.websocketsend((0, _stringify2.default)(e))
                        }), (0, _timers.setTimeout)(function() {
                            t.isWeb = !1
                        }, 2e3), this.isGetHistorical && this.historicalMessage()
                    } else if (120003 == n.code);
                    else if (120004 == n.code) this.arrStatus.push(2);
                    else if (120005 == n.code) this.unsent = [], this.arrStatus.push(1);
                    else if (120006 == n.code) this.userId = n.data.userId, this.id = n.data.session.id, this.kefuId = n.data.session.kefuId;
                    else if (120007 == n.code) {
                        this.isRefresh = !1;
                        var m = n.data;
                        0 == m.result.length && window.scrollTo(0, 0);
                        var h = m.result.reverse();
                        if (h.length <= 0) return;
                        this.historicalResult = m.result;
                        for (var f = 0; f < h.length; f++) {
                            this.arrStatus.push(1);
                            var g = void 0;
                            f < h.length - 1 && h[f].cmCreateTime - h[f + 1].cmCreateTime >= 600 && (g = h[f].cmCreateTime);
                            var p = this.replace_em(h[f].cmContent),
                                v = p[0],
                                _ = p[1];
                            if (this.message.unshift({
                                id: h[f].id,
                                cmCreateTime: g,
                                method_name: 1 == h[f].cmType ? "sendMessage" : "accept",
                                cmContentType: h[f].cmContentType,
                                type: h[f].cmContentType,
                                message: h[f].cmContent,
                                time: h[f].cmCreateTime,
                                isEmoji: _,
                                emojiImg: v
                            }), 2 == h[f].cmContentType) {
                                this.imgArr.unshift(h[f].cmContent);
                                var w = (0, _symbol2.default)();
                                this.imgSize.unshift(w), this.imgInfo(h[f].cmContent, w)
                            } else this.imgSize.unshift(0)
                        }
                        this.isLoad = !1, (0, _timers.setTimeout)(function() {
                            t.chatTextD.scrollTop = 100
                        }, 0), this.lock && (0, _timers.setTimeout)(function() {
                            t.chatTextD.scrollTop = t.chatTextD.scrollHeight, document.body.scrollTop = 1e4, document.documentElement.scrollTop = 1e4, t.lock = !1
                        }, 100)
                    } else if (120008 == n.code) {
                        console.log("接收到消息");
                        var b = n.data;
                        this.isRefresh = !0;
                        var y = this.replace_em(b.cmContent),
                            I = y[0],
                            x = y[1],
                            k = void 0,
                            S = localStorage.getItem("chat-TIME"),
                            T = parseInt(+new Date / 1e3);
                        if (S && T - S >= 600 && (k = b.cmCreateTime, localStorage.setItem("chat-TIME", b.cmCreateTime)), S || (localStorage.setItem("chat-TIME", b.cmCreateTime), k = b.cmCreateTime), this.message.push({
                            type: 2 == b.cmContentType ? 2 : 1,
                            cmCreateTime: k,
                            cmContentType: b.cmContentType,
                            message: b.cmContent,
                            isEmoji: x,
                            emojiImg: I,
                            time: b.cmCreateTime
                        }), 2 == b.cmContentType) {
                            this.imgArr.push(b.cmContent);
                            var C = (0, _symbol2.default)();
                            this.imgSize.push(C), this.imgInfo(b.cmContent, C)
                        } else this.imgSize.push(0)
                    } else 120009 == n.code || 120010 == n.code || (120011 == n.code ? (this.isKefuClose = !0, this.websock.close()) : 120012 == n.code ? (alert("您已在其他设备上登录"), "game" == this.$route.query.path ? this.$router.push("/index/interface") : this.$router.go(-1)) : 120013 == n.code && (this.isZhuanjie = !0))
                },
                sendText: function(e) {
                    var t = this.sendInputD.innerText;
                    if (this.isEmoji = !1, "" == t || /^\s+$/gi.test(t)) return void alert("不能发送空白消息");
                    var n = this.replace_em(t),
                        i = n[0],
                        o = n[1],
                        r = {
                            controller_name: "User/SendMessage",
                            method_name: "sendMessage",
                            token: this.token,
                            userId: this.userId,
                            channelId: this.channelId,
                            type: 1,
                            message: t,
                            cmCreateTime: "",
                            time: parseInt((new Date).getTime() / 1e3),
                            isEmoji: o,
                            emojiImg: i
                        };
                    this.isRefresh = !0;
                    var a = localStorage.getItem("chat-TIME"),
                        s = parseInt(+new Date / 1e3);
                    a && s - a >= 600 && (r.cmCreateTime = s, localStorage.setItem("chat-TIME", s)), a || (localStorage.setItem("chat-TIME", s), r.cmCreateTime = s), this.message.push(r), this.isKefuClose ? (this.initWebSocket(), this.isGetHistorical = !1, this.isKefuClose = !1, this.unsent.push(r)) : this.websocketsend((0, _stringify2.default)(r)), this.sendInputD.innerText = ""
                },
                historicalMessage: function(e) {
                    var t = this.message.length > 0 ? this.message[0].id : "",
                        n = {
                            controller_name: "User/News",
                            method_name: "news",
                            userId: this.userId,
                            pageSize: 5,
                            lastTime: e || parseInt(+new Date / 1e3),
                            lastId: t
                        };
                    this.websocketsend((0, _stringify2.default)(n))
                },
                upImgBtn: function() {},
                upImg: function(e) {
                    var t = this,
                        n = new FormData;
                    n.append("file", e, e.name), (0, _getData.upImg)(n).then(function(e) {
                        var n = e.data;
                        if (0 == n.code) {
                            t.sendImg = n.data[0];
                            var i = (0, _symbol2.default)();
                            t.imgSize.push(1), t.imgInfo(t.sendImg, i), t.imgArr.push(t.sendImg);
                            var o = {
                                sessionId: t.id,
                                kefuId: t.kefuId,
                                controller_name: "User/SendMessage",
                                method_name: "sendMessage",
                                token: t.token,
                                userId: t.userId,
                                channelId: t.channelId,
                                type: 2,
                                cmContentType: 2,
                                message: n.data[0],
                                cmCreateTime: "",
                                time: parseInt((new Date).getTime() / 1e3)
                            };
                            t.isRefresh = !0;
                            var r = localStorage.getItem("chat-TIME"),
                                a = parseInt(+new Date / 1e3);
                            r && a - r >= 600 && (o.cmCreateTime = a, localStorage.setItem("chat-TIME", a)), r || (localStorage.setItem("chat-TIME", a), o.cmCreateTime = a), t.message.push(o), t.isKefuClose ? (t.initWebSocket(), t.isGetHistorical = !1, t.isKefuClose = !1, t.unsent.push(o)) : t.websocketsend((0, _stringify2.default)(o))
                        }
                    })
                },
                saveImg: function(e) {
                    this.isWeiXin() ? WeixinJSBridge.invoke("imagePreview", {
                        urls: this.imgArr,
                        current: e
                    }) : (this.imgUrl = e, this.isSaveImg = !0)
                },
                isWeiXin: function() {
                    return "micromessenger" == window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i)
                },
                imgInfo: function(e, t) {
                    var n = this,
                        i = new Image;
                    i.src = e, i.onload = function() {
                        var e = i.height,
                            o = i.width,
                            r = n.imgSize.indexOf(t);
                        console.log(n.imgSize), e > o ? n.imgSize.splice(r, 1, "w") : n.imgSize.splice(r, 1, "h")
                    }
                },
                closeSaveImg: function() {
                    this.isSaveImg = !1
                },
                imgPreview: function(e, t) {
                    var n = this,
                        i = void 0;
                    if (_exifJs2.default.getData(e, function() {
                        i = _exifJs2.default.getTag(this, "Orientation")
                    }), e && window.FileReader && /^image/.test(e.type)) {
                        var o = new FileReader;
                        o.readAsDataURL(e), o.onloadend = function() {
                            var e = this.result,
                                o = new Image;
                            o.src = e, this.result.length <= 102400 ? (n.base64Image = this.result, t(this.result)) : o.onload = function() {
                                var e = n.compress(o, i);
                                n.base64Image = e, t(e)
                            }
                        }
                    }
                },
                rotateImg: function(e, t, n) {
                    if (null != e) {
                        var i = e.height,
                            o = e.width,
                            r = 2;
                        null == r && (r = 0), "right" == t ? ++r > 3 && (r = 0) : --r < 0 && (r = 3);
                        var a = 90 * r * Math.PI / 180,
                            s = n.getContext("2d");
                        switch (r) {
                            case 0:
                                n.width = o, n.height = i, s.drawImage(e, 0, 0);
                                break;
                            case 1:
                                n.width = i, n.height = o, s.rotate(a), s.drawImage(e, 0, -i);
                                break;
                            case 2:
                                n.width = o, n.height = i, s.rotate(a), s.drawImage(e, -o, -i);
                                break;
                            case 3:
                                n.width = i, n.height = o, s.rotate(a), s.drawImage(e, -o, 0)
                        }
                    }
                },
                compress: function(e, t) {
                    var n = document.createElement("canvas"),
                        i = n.getContext("2d"),
                        o = document.createElement("canvas"),
                        r = o.getContext("2d"),
                        a = e.src.length,
                        s = e.width,
                        c = e.height,
                        u = void 0;
                    (u = s * c / 4e6) > 1 ? (console.log("大于400万像素"), u = Math.sqrt(u), s /= u, c /= u) : u = 1, n.width = s, n.height = c, i.fillStyle = "#fff", i.fillRect(0, 0, n.width, n.height);
                    var l = void 0;
                    if ((l = s * c / 1e6) > 1) {
                        console.log("超过100W像素"), l = ~~(Math.sqrt(l) + 1);
                        var d = ~~(s / l),
                            m = ~~(c / l);
                        o.width = d, o.height = m;
                        for (var h = 0; h < l; h++)
                            for (var f = 0; f < l; f++) r.drawImage(e, h * d * u, f * m * u, d * u, m * u, 0, 0, d, m), i.drawImage(o, h * d, f * m, d, m)
                    } else i.drawImage(e, 0, 0, s, c); if ("" != t && 1 != t) switch (t) {
                        case 6:
                            this.rotateImg(e, "left", n);
                            break;
                        case 8:
                            this.rotateImg(e, "right", n);
                            break;
                        case 3:
                            this.rotateImg(e, "right", n), this.rotateImg(e, "right", n)
                    }
                    var g = n.toDataURL("image/jpeg", .1);
                    return console.log("压缩前：" + a), console.log("压缩后：" + g.length), console.log("压缩率：" + ~~(100 * (a - g.length) / a) + "%"), o.width = o.height = n.width = n.height = 0, g
                },
                dataURLtoFile: function(e) {
                    for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "file", n = e.split(","), i = n[0].match(/:(.*?);/)[1], o = i.split("/")[1], r = atob(n[1]), a = r.length, s = new Uint8Array(a); a--;) s[a] = r.charCodeAt(a);
                    return new File([s], t + "." + o, {
                        type: i
                    })
                },
                pullLoad: function() {
                    if (this.chatTextD.scrollTop <= 0) {
                        if (this.historicalResult.length < 5) return this.isLoad = !1, !1;
                        this.isLoad = !0, this.historicalMessage(this.message[0].time)
                    }
                },
                closeKeyboard: function() {
                    this.sendInputD.blur(), this.isEmoji = !1
                },
                refresh: function() {
                    var e = this;
                    (0, _timers.setTimeout)(function() {
                        e.chatTextD.scrollTop = e.chatTextD.scrollHeight, document.body.scrollTop = 1e4, document.documentElement.scrollTop = 1e4
                    }, 100)
                },
                setStyle: function(e) {
                    1 == e && (0, _timers.setTimeout)(function() {
                        window.scrollTo(0, 100)
                    }, 0)
                },
                selectEmoji: function(e) {
                    this.sendInputD.innerText += "[em_" + e + "]", this.isEmoji = !1
                },
                replace_em: function(e) {
                    var t = /\[em_\d+\]/,
                        n = t.test(e);
                    return e = e.replace(/\[em_([0-9]*)\]/g, '<img src="/hall/chat/emoji/$1.svg" class="emoji">'), [e, n]
                },
                getInoutText: function() {
                    this.sendInputD.innerText.length >= 300 && (this.sendInputD.innerText = this.sendInputD.innerText.substring(0, 300), this.sendInputD.blur())
                },
                evaluateBtn: function(e) {
                    window.location.href = "https://" + location.host + "/hall/index.html?channelId=" + this.channelId + "#/kefuEvaluate?" + e
                },
                goBack: function() {
                    "game" == this.$route.query.path ? this.$router.push("/index/interface") : 1 == this.$route.query.shanghuStore ? window.location.href = "https://" + window.location.host + "/member/store/index.html?channelId=" + this.channelId + "#/merchantHomepage" : 1 == (0, _mUtils.getQueryString)("comeFrom") || 1 == (0, _mUtils.getHashQueryString)("comeFrom") ? this.$router.push({
                        path: "/yiqingAddress",
                        query: {
                            storeId: this.$route.query.storeId
                        }
                    }) : window.history.length > 1 ? this.$router.go(-1) : this.$router.push("/")
                }
            },
            filters: {
                time: function(e) {
                    return (0, _mUtils.dateFilter)(e, 3)
                }
            },
            computed: (0, _extends3.default)({}, (0, _vuex.mapState)(["channelId", "token"])),
            watch: {
                message: function() {
                    this.isRefresh && this.refresh()
                }
            },
            destroyed: function() {
                this.isKefuClose = !0, this.websock.close(), clearInterval(this.hearbeatTime), clearInterval(this.sendTime)
            }
        }
    },
    461: function(e, t, n) {
        "use strict";
        var i = function() {
                var e = this,
                    t = e.$createElement,
                    i = e._self._c || t;
                return i("div", {
                    attrs: {
                        id: "chat-kefu"
                    }
                }, [i("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.loadShow,
                        expression: "loadShow"
                    }],
                    staticClass: "box"
                }, [i("div", {
                    staticClass: "loader-15"
                }), e._v(" "), i("div", {
                    staticClass: "loadimg"
                }, [e._v("拼命加载中")])]), e._v(" "), i("div", {
                    staticClass: "back-agent",
                    on: {
                        click: e.goBack
                    }
                }, [i("img", {
                    attrs: {
                        src: n(462),
                        alt: ""
                    }
                })]), e._v(" "), i("section", {
                    ref: "chatText",
                    attrs: {
                        id: "chat-text"
                    },
                    on: {
                        click: e.closeKeyboard
                    }
                }, [i("ul", e._l(e.message, function(t, o) {
                    return i("li", {
                        key: o,
                        class: {
                            Incoming_letter: "accept" == t.method_name,
                            send_letter: "sendMessage" == t.method_name
                        }
                    }, [i("div", {
                        staticClass: "message-wrap"
                    }, [i("img", {
                        staticClass: "avatar",
                        attrs: {
                            src: "sendMessage" == t.method_name ? e.avatar : e.kefuAvatar
                        }
                    }), e._v(" "), i("div", {
                        staticClass: "text"
                    }, [2 == e.arrStatus[o] ? i("img", {
                        staticClass: "no-send",
                        attrs: {
                            src: n(463),
                            alt: ""
                        }
                    }) : e._e(), e._v(" "), 2 == t.cmContentType && 2 == t.type ? i("div", {
                        staticClass: "img-box",
                        class: {
                            height: "h" == e.imgSize[o],
                            width: "w" == e.imgSize[o]
                        },
                        on: {
                            click: function(n) {
                                return e.saveImg(t.message)
                            }
                        }
                    }, [i("img", {
                        ref: "sendImgD",
                        refInFor: !0,
                        attrs: {
                            src: t.message,
                            alt: ""
                        }
                    })]) : e._e(), e._v(" "), 2 != t.cmContentType && 2 != t.type && 3 != t.cmContentType ? i("p", {
                        staticClass: "message",
                        domProps: {
                            innerHTML: e._s(t.emojiImg)
                        }
                    }) : e._e(), e._v(" "), 3 == t.cmContentType ? i("div", {
                        attrs: {
                            id: "evaluate-card"
                        },
                        on: {
                            click: function(n) {
                                return e.evaluateBtn(t.message)
                            }
                        }
                    }, [i("h3", [e._v("用户满意度评价")]), e._v(" "), e._m(0, !0)]) : e._e()])]), e._v(" "), "" != t.cmCreateTime && void 0 != t.cmCreateTime ? i("p", {
                        staticClass: "time"
                    }, [e._v(e._s(e._f("time")(t.cmCreateTime)))]) : e._e()])
                }), 0)]), e._v(" "), i("section", {
                    attrs: {
                        id: "chat-send"
                    }
                }, [i("div", {
                    staticClass: "emotion"
                }, [i("img", {
                    staticClass: "emoji",
                    attrs: {
                        src: "/hall/chat/image/emoji.png",
                        alt: ""
                    },
                    on: {
                        click: function(t) {
                            e.isEmoji = !e.isEmoji
                        }
                    }
                }), e._v(" "), i("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.isEmoji,
                        expression: "isEmoji"
                    }],
                    staticClass: "emoji-box"
                }, [i("swiper", {
                    attrs: {
                        options: e.swiperOption
                    }
                }, [i("swiper-slide", e._l(e.emoji1, function(t, n) {
                    return i("img", {
                        attrs: {
                            src: "/hall/chat/emoji/" + (n + 1) + ".svg",
                            alt: ""
                        },
                        on: {
                            click: function(t) {
                                return e.selectEmoji(n + 1)
                            }
                        }
                    })
                }), 0), e._v(" "), i("swiper-slide", e._l(e.emoji2, function(t, n) {
                    return i("img", {
                        attrs: {
                            src: "/hall/chat/emoji/" + (n + 46) + ".svg",
                            alt: ""
                        },
                        on: {
                            click: function(t) {
                                return e.selectEmoji(n + 46)
                            }
                        }
                    })
                }), 0), e._v(" "), i("div", {
                    staticClass: "swiper-pagination",
                    attrs: {
                        slot: "pagination"
                    },
                    slot: "pagination"
                })], 1)], 1)]), e._v(" "), e._m(1), e._v(" "), i("div", {
                    ref: "sendInput",
                    staticClass: "send-text",
                    attrs: {
                        id: "saytext",
                        name: "saytext",
                        contentEditable: "true"
                    },
                    on: {
                        blur: function(t) {
                            return e.setStyle(1)
                        },
                        focus: function(t) {
                            return e.setStyle(2)
                        },
                        keyup: e.getInoutText
                    }
                }), e._v(" "), i("button", {
                    attrs: {
                        type: "button",
                        name: "send"
                    },
                    on: {
                        click: e.sendText
                    }
                }, [e._v("发送")])]), e._v(" "), i("section", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.isLoad,
                        expression: "isLoad"
                    }],
                    attrs: {
                        id: "up-load"
                    }
                }, [e._v("\n    加载中\n    "), i("img", {
                    attrs: {
                        src: "/hall/chat/image/loading.gif",
                        alt: ""
                    }
                })]), e._v(" "), i("section", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.isSaveImg,
                        expression: "isSaveImg"
                    }],
                    attrs: {
                        id: "save-img"
                    },
                    on: {
                        click: e.closeSaveImg
                    }
                }, [i("div", {
                    staticClass: "cover"
                }), e._v(" "), i("img", {
                    attrs: {
                        src: e.imgUrl,
                        alt: ""
                    }
                })])])
            },
            o = [
                function() {
                    var e = this,
                        t = e.$createElement,
                        n = e._self._c || t;
                    return n("div", {
                        staticClass: "evaluate-text"
                    }, [n("p", [e._v("感谢您的本次访问")]), e._v(" "), n("img", {
                        attrs: {
                            src: "/hall/chat/image/star_on.png"
                        }
                    })])
                },
                function() {
                    var e = this,
                        t = e.$createElement,
                        i = e._self._c || t;
                    return i("div", {
                        staticClass: "more",
                        attrs: {
                            id: "formChat_fileImg"
                        }
                    }, [i("img", {
                        attrs: {
                            src: n(464),
                            id: "uploadImg"
                        }
                    })])
                }
            ],
            r = {
                render: i,
                staticRenderFns: o
            };
        t.a = r
    },
    462: function(e, t) {
        e.exports = ""
    },
    463: function(e, t) {
        e.exports = ""
    },
    464: function(e, t) {
        e.exports = ""
    }
});